2

私はAndroidアプリケーションを開発しています。

1 つのアクティビティで、リスト アイテムを含むリストがあります。これらのリスト項目には 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 が垂直方向に中央揃えされないのはなぜですか?

4

3 に答える 3

4

TextView の layout_height に「wrap_content」があります = TextView がしっかりとラップされているため、垂直方向に中央揃えするスペースがありません。

代わりに、layout_height を「match_parent」に変更するか、gravity="center_vertical" 属性を LinearLayout に配置してみてください。

<TextView
        android:id="@+id/orderToFillName"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="center_vertical"
        android:textSize="20dp" />
于 2012-06-13T13:31:34.503 に答える
1

答えは非常に簡単です。これを TextView の XML に追加する必要があります。

android:gravity="center"

現在、TextView でテキストの位置を設定するのではなく、View の位置だけを設定しています。

おめでとう、ティム

于 2012-06-13T13:28:57.787 に答える
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"
于 2012-06-13T13:28:46.163 に答える