我有带复选框的列表视图。问题在于设备和模拟器上的不同显示复选框。
以下是它在模拟器中的外观:
以及它在设备上的外观:
您可以看到设备复选框已切割右边缘。
这是@ drawable / custom_checkbox_design.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/checked" />
<item android:state_checked="false" android:drawable="@drawable/unchecked" />
</selector>
和行的布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<CheckBox
android:id="@+id/ColChk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="40dp"
android:button="@drawable/custom_checkbox_design"
android:layout_gravity="center_vertical|center_horizontal" />
<TextView
android:id="@+id/ColOpis"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minLines="1"
android:scrollHorizontally="false"
android:text="Opis"
android:textSize="20sp" />
<TextView
android:id="@+id/ColCode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Code"
android:visibility="invisible" />
</LinearLayout>
我做错了什么?为什么在模拟器上显示正确?
答案 0 :(得分:1)
使用XML的Android UI系统非常错误。它根据您使用的Android操作系统的版本而有很大不同。通常模拟器有最新的Android版本,而设备没有。您的布局文件似乎没有任何问题,只需尝试更改以下值:
android:layout_marginRight="40dp"
android:button="@drawable/custom_checkbox_design"
尝试为layout_marginRight使用不同的值并更改复选框的图像。 希望这能解决你的问题。
答案 1 :(得分:0)
我认为我找到了合适的解决方案。
而不是
android:button="@drawable/custom_checkbox_design"
应该是
android:button="@null"
android:background="@drawable/custom_checkbox_design"