android:gravity="top"
将解决这个问题:
<CheckBox android:id="@+id/register_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/register_hint"
android:gravity="top"/>
请注意,android:gravity
与android:layout_gravity
是不同的。android:layout_gravity
属性,这就是为什么我看不到任何效果的原因。 - fragonpadding_top="4dp"
。 - amar使用
android:gravity="top" 它将固定盒子在顶部
使用
padding_top="4dp" 将仅调整文本填充(而不更改来自顶部的框填充)
padding_top
可以解决文本顶部出现的丑陋裁剪问题。谢谢! - egorikem我发现:
android:gravity="fill"
比“顶部”更好。如果复选框最终也可能只有一行,那么“顶部”看起来就不合适。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="false">
<layer-list>
<item android:top="2dp">
<bitmap android:gravity="center" android:src="@drawable/checkbox" />
</item>
</layer-list>
</item>
<item android:state_checked="true">
<layer-list>
<item android:top="2dp">
<bitmap android:gravity="center" android:src="@drawable/checkboxselected" />
</item>
</layer-list>
</item>
<item>
<layer-list>
<item android:top="2dp">
<bitmap android:gravity="center" android:src="@drawable/checkbox" />
</item>
</layer-list>
</item>
</selector>