0

私の要件は、LinearLayout でこれを達成することです。子ビューが 1 つしかありません。水平方向では、layout_gravity が設定されている場合、ボタンを水平方向の中央に配置する必要があります。私のレイアウトxmlは

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="200dp"
android:background="#ffff00"
android:layout_width="match_parent"
android:orientation="horizontal">

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:text="Button" />

</LinearLayout>

しかし、結果は下の画像のようになります

ここに画像の説明を入力

私が期待しているのは、layout_gravity が center_horizo​​ntal に設定されている場合、ボタンの中心が水平になることです。これが機能しない理由

4

5 に答える 5

2

あなたの問題は、実際の要素ではなく、親要素にあります。親要素に同じプロパティを定義すると、問題が解決されます。

次の属性をLinearLayout

android:gravity="center_horizontal"
于 2014-07-15T07:48:03.603 に答える
1

あなたは2つの方法でそれを達成することができます、

レイアウト プロパティでandroid:gravity="center_horizo​​ntal"を設定します

また

ボタンのプロパティでandroid:layout_gravity="center"を設定します

レイアウトを「垂直」方向にする

于 2014-07-15T08:39:23.997 に答える
0

実際にはできません。あなたのルートレイアウトは水平方向Landroid:orientation="horizontal"です。動作させたい場合は、ルートの向きをvertical(まだテストしていません!) に変更するだけです。

于 2014-07-15T07:48:33.160 に答える