我想我在其中一个布局中没有看到错误。我想显示一个复选框和它周围的边框。
我使用Android Holo Colors Generator
生成了图片我尝试在复选框中添加一个形状,这在Nexus 4上运行良好,但在任何其他设备上都没有显示按钮,所以我添加了一个虚拟布局:
布局:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5sp"
android:layout_marginTop="3sp"
android:background="@drawable/shape_button" >
<CheckBox
android:id="@+id/check"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:button="@drawable/btn_radio_holo_dark_hm" />
</LinearLayout>
形状:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@android:color/transparent"/>
<stroke
android:width="1px"
android:color="@color/gray" />
<corners
android:bottomLeftRadius="5sp"
android:bottomRightRadius="5sp"
android:topLeftRadius="5sp"
android:topRightRadius="5sp" />
</shape>
现在我明白了:
我尝试根据mdpi / hdpi / xhdpi设置minWidth,但按钮永远不会在每个设备上居中。 fill_parent / wrap_content不会导致任何更改,也会移动布局中的按钮。
关于这里出了什么问题的任何建议?
答案 0 :(得分:4)
将外部布局更改为RelativeLayout,并为复选框
设置centerInParent = true<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5sp"
android:layout_marginTop="3sp"
android:background="@drawable/shape_button"
android:padding="2sp">
<CheckBox
android:id="@+id/check"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:button="@drawable/btn_radio_holo_dark_hm"
android:layout_centerInParent="true/>
</RelativeLayout>