Android - TextView中的文本不会左/纵向对齐

Den*_*nie 2 android alignment textview android-layout

好的,这是交易:我有一个包含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>
Run Code Online (Sandbox Code Playgroud)

MinSDK = 14目标并编译SDK = 19

我发现了很多可能的答案,但是它们似乎没有用.有任何想法吗?

我将layout_height改为android:layout_height ="fill_parent"并添加了android:layout_centerVertical ="true",就像Apoorv所说.

<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"/>
Run Code Online (Sandbox Code Playgroud)

像魅力一样工作!

Apo*_*orv 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".