2

下の図のようにレイアウトを作成する必要があります。主なタスクは、テキストを中央に配置することです。

ここに画像の説明を入力

この xml を使用してレイアウトを実装します。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/main_layout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/ll"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center_vertical"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/author"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/author">
    </LinearLayout>

    <LinearLayout
        android:id="@+id/footer_layout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="bottom"
        android:orientation="vertical" 
        android:layout_alignParentBottom="true">

        <LinearLayout
            android:id="@+id/menu_layout"
            android:layout_width="fill_parent"
            android:layout_height="60dp"
            android:background="@drawable/nav_overlay"
            android:gravity="center_horizontal"
            android:orientation="horizontal">

            <Button
                android:id="@+id/previous"
                android:layout_width="45dp"
                android:layout_height="45dp"
                android:background="@drawable/button" />

        </LinearLayout>

        <com.google.ads.AdView
            xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
            android:id="@+id/adView"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            ads:adSize="BANNER"
            ads:adUnitId="@string/admob_id"
            ads:loadAdOnCreate="true" />
    </LinearLayout>

</RelativeLayout>

しかし、それは正しく機能しません。の中心に置く
必要があります。しかし、それは親に集中しています。 に使用します。 レイアウトが親ではなく、残りのスペースのみを埋めるにはどうすればよいですか? 誰かが同様の問題に遭遇した場合、その実装の例を挙げてください。TextView android:id="@+id/author"LinearLayout android:id="@+id/ll"RelativeLayout android:id="@+id/main_layout"
android:layout_height="fill_parent"LinearLayout android:id="@+id/ll"

編集:下の図のように、中央揃えのテキストが間違っています。
ここに画像の説明を入力

現時点では、android:layout_weight を使用するのが最善の解決策だと思います。
しかし、広告が表示されない場合は、プロポーションに違反しています。

4

5 に答える 5

6

今すぐやってみて下さい:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<LinearLayout
    android:id="@+id/ll"
    android:layout_above="@+id/footer_layout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center_vertical"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/author"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/author"/>
</LinearLayout>

<LinearLayout
    android:id="@+id/footer_layout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="bottom"
    android:orientation="vertical" 
    android:layout_alignParentBottom="true">

    <LinearLayout
        android:id="@+id/menu_layout"
        android:layout_width="fill_parent"
        android:layout_height="60dp"
        android:background="@drawable/nav_overlay"
        android:gravity="center_horizontal"
        android:orientation="horizontal">

        <Button
            android:id="@+id/previous"
            android:layout_width="45dp"
            android:layout_height="45dp"
            android:background="@drawable/button" />

    </LinearLayout>

    <com.google.ads.AdView
        xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
        android:id="@+id/adView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        ads:adSize="BANNER"
        ads:adUnitId="@string/admob_id"
        ads:loadAdOnCreate="true" />
</LinearLayout>

于 2012-05-23T11:52:17.857 に答える
2

テキストビューに重力を追加します。次のコードを見つけます

       <TextView
        android:id="@+id/author"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:text="hiiiiiiiiiii"/>

これにより、レイアウトの中央にテキストビューが表示されます...

于 2012-05-23T11:55:03.700 に答える
2

linearlayout に次のプロパティを追加します:gravity="center_horizo​​ntal"、テキストビューに次のプロパティを追加します:layout_gravity="center_horizo​​ntal"

于 2012-05-23T11:51:55.570 に答える
0

次のようにテキスト ビューのレイアウトを変更します。

 <TextView
        android:id="@+id/author"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:gravity="center"
        android:text="@string/author">
    </TextView>
</LinearLayout>
于 2012-05-23T12:20:54.473 に答える
0

設定layout_centerInParent = true

于 2012-05-23T12:26:42.693 に答える