好的,这是交易: 我有一个包含ImageView,TextView和IconTextView的列表。
TextView包含我想要垂直居中并紧贴TextView左侧的文本。但由于某种原因,它不适用于android:gravity =" center | left"也没有任何其他重力变化。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/task_item_item_layout"
android:background="?android:attr/activatedBackgroundIndicator" >
<ImageView
android:id="@+id/task_item_imageview"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@drawable/default_icon"
android:contentDescription="TODO"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:visibility="visible" />
<TextView
android:id="@+id/task_item_textview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:text="TODO"
android:textSize="15sp"
android:layout_toLeftOf="@+id/task_item_icontextview"
android:paddingLeft="4dp"
android:paddingRight="8dp"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:layout_toRightOf="@+id/task_item_imageview"
android:gravity="center|left" />
<IconTextView
android:id="@+id/task_item_icontextview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="10dp"
android:visibility="gone"
android:gravity="center_horizontal"
android:layout_centerVertical="true"
android:layout_alignParentRight="true" />
</RelativeLayout>
MinSDK = 14 目标并编译SDK = 19
我发现了很多潜在的答案,但是它们似乎没有用。 有什么想法吗?
溶液
我将layout_height改为android:layout_height =&#34; fill_parent&#34;并添加了android:layout_centerVertical =&#34; true&#34;像阿波罗夫说的那样。
<TextView
android:id="@+id/task_item_textview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:text="Description"
android:textSize="15sp"
android:layout_toLeftOf="@+id/task_item_icontextview"
android:paddingLeft="4dp"
android:paddingRight="8dp"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:layout_toRightOf="@+id/task_item_imageview"
android:gravity="center|left"
android:layout_centerVertical="true"/>
像魅力一样工作!
答案 0 :(得分:6)
尝试使用android:layout_centerVertical="true"
中的TextView
。目前您正在使用android:layout_height="wrap_content"
因此TextView
可能会粘贴到父布局的顶部。
因此,当您提供android:gravity="center|left"
时,它会被应用但您没有看到任何差异,因为TextView
的高度不会改变。
此外,您可以更改为android:layout_height="fill_parent"
,而不是使用android:layout_centerVertical="true"
。