我正在开发一个Android应用程序。
在一项活动中,我有一个包含列表项的列表。那些列表项将有一个TextView(我使用自己的布局,因为我可能需要添加更多的小部件)。
这是ListActivity xml:
<?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="match_parent"
android:orientation="vertical" >
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="469dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="40dp">
</ListView>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/orderErrorMsg"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:textSize="16dp" >
</TextView>
</RelativeLayout>
</LinearLayout>
这是ListItem xml:
<?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="100dp"
android:orientation="vertical">
<TextView
android:id="@+id/orderToFillName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:textSize="20dp" />
</LinearLayout>
最后,结果就是这样:
为什么TextView不是垂直居中的?
答案 0 :(得分:4)
你在TextView的layout_height上有“wrap_content”=由于TextView被紧紧包裹,所以没有空间可以垂直居中。
尝试将layout_height更改为“match_parent”,或者在LinearLayout中放置gravity =“center_vertical”属性。
<TextView
android:id="@+id/orderToFillName"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:textSize="20dp" />
答案 1 :(得分:1)
答案非常简单:你必须将它添加到TextView的XML中:
android:gravity="center"
目前,您没有在TextView中设置文本的位置,只是在View的位置。
祝福, 添
答案 2 :(得分:0)
尝试这种方式:
<TextView
android:id="@+id/orderToFillName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity= "center_vertical|center_horizontal"
android:textSize="20dp" />
或
android:gravity="center"