为什么我的TextView
不对?
更新:好吧,现在我不需要将TextView
设置为右侧。现在非常有趣的是layout_gravity
无法正常工作,即 - 将View
设置为父容器内的位置。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
style="@style/activated_item"
android:orientation="horizontal">
<CheckBox
android:id="@+id/star"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="8dp"
style="?android:attr/starStyle"/>
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_marginLeft="8dp"
android:layout_gravity="right" //////// HERE I AM
android:textStyle="bold"
android:textColor="@color/item_text_color"/>
</LinearLayout>
答案 0 :(得分:16)
尝试使用gravity
代替layout_gravity
。
答案 1 :(得分:3)
因为您将orientation
设置为水平,这意味着您无法手动更改子视图的水平位置。
答案 2 :(得分:1)
我找到了两个解决方案:
android:orientation="vertical"
。FrameLayout
代替LinearLayout
作为text / checkbox小部件的父级。它不是FrameLayout
的主要用途,但在Android文档中也提到了这些建议:
...但是,您可以为a添加多个孩子 FrameLayout并控制它们在FrameLayout中的位置 使用android:layout_gravity为每个孩子分配重力 属性。
答案 3 :(得分:0)
试试这个......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
style="@style/activated_item"
android:orientation="horizontal">
<CheckBox
android:id="@+id/star"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="8dp"
style="?android:attr/starStyle"/>
<TextView
android:id="@+id/title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_marginLeft="40dp"
android:gravity="right" //////// HERE I AM
android:textStyle="bold"
android:textColor="@color/item_text_color"/>
答案 4 :(得分:0)
你可以使用体重也试试这个
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
android:orientation="horizontal" >
<CheckBox
android:id="@+id/star"
style="?android:attr/starStyle"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="8dp"
android:layout_weight="1" />
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="8dp"
android:text="TEST"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textStyle="bold" />
</LinearLayout>
重力只是使文本居中,使其正确的是重量