布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center">
<Button
android:id="@+id/removeButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:paddingBottom="10dp"
android:paddingTop="10dp"
android:drawableRight="@drawable/ic_action_next_item"
android:onClick="onClick"
android:gravity="center_horizontal"
android:focusable="false"
android:clickable="false">
</Button>
<TextView
android:id="@+id/list_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/removeButton"
android:layout_alignBottom="@id/removeButton"
android:layout_alignTop="@id/removeButton"
android:gravity="center_vertical|left"
android:paddingLeft="8dp"
android:text="test"
android:background="#e9e9e9"
android:textColor="@color/very_light_grey"
android:textSize="19sp"
android:textStyle="bold" />
</RelativeLayout>
正如您所见,文本视图已
android:gravity="center|left"
设置但文本不是垂直居中(在设备上,但在gui编辑器中居中)。相反,它会粘在文本视图的左上角。有关如何垂直居中文本的任何想法吗?
答案 0 :(得分:1)
尝试以下,这在我身边工作正常
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center" >
<Button
android:id="@+id/removeButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:drawableRight="@drawable/ic_launcher"
android:gravity="center_horizontal" >
</Button>
<TextView
android:id="@+id/list_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/removeButton"
android:background="#e9e9e9"
android:layout_alignBottom="@id/removeButton"
android:layout_alignTop="@id/removeButton"
android:gravity="center_vertical"
android:textColor="#000000"
android:text="testing" />
</RelativeLayout>
以下是我的输出:
虽然这个答案指出了我必须在文本视图中添加包装线性布局的正确方法:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/removeButton"
android:layout_alignTop="@id/removeButton"
android:layout_toLeftOf="@id/removeButton"
android:gravity="center"
android:orientation="vertical" >
通过这种方式,我可以使它发挥作用。
答案 1 :(得分:0)
试试这个
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/removeButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="@drawable/ic_launcher"
android:gravity="center_horizontal">
</Button>
<TextView
android:id="@+id/list_item"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_toLeftOf="@+id/removeButton"
android:layout_alignBottom="@+id/removeButton"
android:layout_alignTop="@+id/removeButton"
android:gravity="center_vertical|left"
android:paddingLeft="8dp"
android:background="#e9e9e9"
android:text="hello"/>
</RelativeLayout>
这是输出的截图
答案 2 :(得分:0)
android:gravity="center"
, center|left
是正确的。它会将你的文字留在左边。
答案 3 :(得分:0)
尝试将TextView
重力设置为center_vertical
,如下所示,然后检查
<TextView
android:id="@+id/list_item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/removeButton"
android:background="#e9e9e9"
android:layout_alignBottom="@id/removeButton"
android:layout_alignTop="@id/removeButton"
android:gravity="center_vertical"
android:text="asdfjhasdfkjhkjashdfjhljh" />
答案 4 :(得分:0)
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
android:id="@+id/removeButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:background="@drawable/ic_launcher"
android:gravity="center_horizontal">
</Button>
<TextView
android:id="@+id/list_item"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/removeButton"
android:layout_alignBottom="@id/removeButton"
android:layout_alignTop="@id/removeButton"
android:gravity="center|left"
android:text="@string/app_name"
android:paddingLeft="8dp"
android:background="#e9e9e9" />
</RelativeLayout>