我有一個ListActivity
與ArrayAdapter
自定義使用list_item.xml
。在這個xml文件中,我有一個ImageView
和三個TextViews
。Android - ListItem RelativeLayout文本在TextViews中心的高度wrap_content
ImageView
和前兩個TextViews
彼此相鄰排列,第三個TextView
在右側排列。這一切都以滿意的方式工作。
現在我還想要在ListItem
的中心對齊TextViews
。
現在我使用的是RelativeLayout
,所以我能第三TextView
右對齊,我用match_parent
在TextViews' layout_height
,因爲我讀的地方它需要在TextView
文本對齊到中心在RelativeLayouts
。
這是我目前list_item.xml
:
<?xml version="1.0" encoding="utf-8"?>
<!-- The View for a single CheckListItem -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/item_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:contentDescription="@string/checkbox_content_description"
android:src="@drawable/checkbox_unchecked"
android:background="@layout/transparent_background"
android:focusableInTouchMode="false"
android:clickable="false"
android:focusable="false" />
<TextView
android:id="@+id/tv_amount"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_toRightOf="@id/image"
android:layout_alignBottom="@id/image"
android:layout_alignParentTop="true"
android:gravity="center_vertical"
android:layout_margin="5dp"
android:focusableInTouchMode="false"
android:clickable="false"
android:focusable="false"
android:textIsSelectable="false" />
<!-- NOTE: layout_toLeftOf has @+id/ instead of @id to create the R.id here -->
<TextView
android:id="@+id/tv_product_name"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_toRightOf="@id/tv_amount"
android:layout_toLeftOf="@+id/tv_price"
android:singleLine="true"
android:ellipsize="end"
android:layout_alignBottom="@id/image"
android:layout_alignParentTop="true"
android:gravity="center_vertical"
android:layout_margin="5dp"
android:focusableInTouchMode="false"
android:clickable="false"
android:focusable="false"
android:textIsSelectable="false"
android:background="@layout/border" />
<!-- TODO: Remove test border -->
<!-- NOTE: id has @id instead of @+id, because we created the ID in the tv_product_name in the layout_toLeftOf -->
<TextView
android:id="@id/tv_price"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:layout_alignBottom="@id/image"
android:layout_alignParentTop="true"
android:gravity="center_vertical"
android:layout_margin="5dp"
android:focusableInTouchMode="false"
android:clickable="false"
android:focusable="false"
android:textIsSelectable="false" />
</RelativeLayout>
結果如下:
我想要什麼,而不是爲:
編輯1:
三個TextViews改變android:gravity="center_vertical"
到android:gravity="center"
後,文本僅在中心對齊的水平,而不是垂直方向:
更改比重=中心 – Meghna
@Sania如果我改變了'比重=「center_vertical」''到「中心」'在TextViews,文本只對準水平的中心,而不是垂直方向..: S(見編輯1) –
不好意思把它改成居中水平 – Meghna