Android 4.4上的文本填充不能很好地显示

时间:2014-01-02 08:29:58

标签: android-button android-4.4-kitkat android-checkbox

在Android 4.4 KitKat上,我的两个应用程序存在问题。但在4.4以下的其他Android平台上,如4.0和2.3.3,它们显示效果很好。

我使用的设备是LG Nexus 5.

以下是两个例子:

复选框:

<LinearLayout
        android:id="@+id/CheckBoxGroup"
        android:layout_width="150dp"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:orientation="vertical" >

        <CheckBox
            android:id="@+id/CheckBoxRememberMe"
            style="@style/FontSmallBald"
            android:layout_width="150dp"
            android:layout_height="50dp"
            android:button="@drawable/checkbox_remember_image_state"
            android:checked="true"
            android:gravity="center_vertical"
            android:text="@string/remember_me" >

        </CheckBox>

        <CheckBox
            android:id="@+id/CheckBoxKeepMeLogin"
            style="@style/FontSmallBald"
            android:layout_width="150dp"
            android:layout_height="50dp"
            android:button="@drawable/checkbox_remember_image_state"
            android:checked="false"
            android:gravity="center_vertical"
            android:text="@string/keep_me_login" />

    </LinearLayout>
<style name="FontSmallBald">
    <item name="android:textSize">12sp</item>
    <item name="android:textStyle">bold</item>
</style>

CheckBox显示如下: BOX *没有空格*让我登录。

但是在4.0或2.3.3上它显示如下: BOX *默认DP空间*让我登录。

按钮:

    button.setGravity(Gravity.CENTER_VERTICAL);
    button.setPadding(85,0,0,0);

尽管我设置了85dp paddingLeft,但它会产生不同的外观。 在Android 4.4上,文本更接近按钮(不是algin at,似乎85dp缩小到50dp)到按钮的左边缘,但在另一边没有。

任何人都知道为什么在Android 4.4上渲染与其他Android版本相比有所不同以及如何设置属性以使它们看起来相同?

1 个答案:

答案 0 :(得分:0)

setPadding()在像素中设置填充,而不是dp。

您可以使用屏幕宽度/ x进行填充以获得相同的结果。

请参阅:

setPadding:http://developer.android.com/reference/android/view/View.html#setPadding(int,int,int,int)

how to get device screen size

相关问题