私の水平方向の LinearLayout では、1 つのビューで重力を center_vertical に設定し、次に 2 番目のビューで layout_gravity を設定しようとしましたが、そのビューは最初のビューの中央に配置されたテキストと並んでいます!
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:layout_width="100dp"
android:layout_height="200dp"
android:layout_gravity="top"
android:background="@drawable/border"
android:gravity="center_vertical"
android:text="layout_gravity=top gravity=center_vertical" >
</TextView>
<TextView
android:layout_width="100dp"
android:layout_height="200dp"
android:layout_gravity="top"
android:background="@drawable/border"
android:gravity="top"
android:text="layout_gravity=top gravity=top" >
</TextView>
</LinearLayout>
そして、これは同じコードですが、垂直レイアウト用です。 垂直レイアウトで目的の動作が正しく機能することに注意してください。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="200dp"
android:layout_height="100dp"
android:layout_gravity="left"
android:background="@drawable/border"
android:gravity="center_horizontal"
android:text="layout_gravity=left gravity=center_horizontal" >
</TextView>
<TextView
android:layout_width="200dp"
android:layout_height="100dp"
android:layout_gravity="right"
android:background="@drawable/border"
android:gravity="right"
android:text="layout_gravity=right gravity=right" >
</TextView>
</LinearLayout>
問題を解決するには、RelativeLayout または別のネストされた LinearLayout を使用するだけです。しかし、重力とレイアウト重力がどのように機能するかを理解していないかどうか知りたいので、この質問をしています!! これらの基本的な属性がどのように機能するかを理解することは、私にとって重要です。ありがとう