在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版本相比有所不同以及如何设置属性以使它们看起来相同?
答案 0 :(得分:0)
setPadding()在像素中设置填充,而不是dp。
您可以使用屏幕宽度/ x进行填充以获得相同的结果。
请参阅:
setPadding:http://developer.android.com/reference/android/view/View.html#setPadding(int,int,int,int)