I would like to align CheckBox
"symbol" to the top of its description.
What I have now:
What I want to have:
Current xml:
<CheckBox android:id="@+id/register_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/register_hint"/>
I've tried to achieve this by manipulating layout_gravity
attributes, but it doesn't work.
android:gravity="top"
will fix the problem:
<CheckBox android:id="@+id/register_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/register_hint"
android:gravity="top"/>
Note that android:gravity
is different than android:layout_gravity
.
I found that:
android:gravity="fill"
works better than "top". Top wouldn't look right if the checkbox may also end up as only one line.
You can try this code:-
<?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>