layout_gravity
是 Android 中用于设置子视图在其父布局中的对齐方式的属性。这个属性可以设置为以下值之一:
top
:子视图位于父布局的顶部。bottom
:子视图位于父布局的底部。left
:子视图位于父布局的左侧。right
:子视图位于父布局的右侧。center
:子视图位于父布局的中心。center_horizontal
:子视图在水平方向上位于父布局的中心。center_vertical
:子视图在垂直方向上位于父布局的中心。fill
:子视图将填充其父布局的空间,可能会改变其大小。fill_horizontal
:子视图在水平方向上填充其父布局的空间。fill_vertical
:子视图在垂直方向上填充其父布局的空间。要设置 layout_gravity
,您可以在 XML 布局文件中为子视图添加 android:layout_gravity
属性,或者在代码中使用 LayoutParams
类设置。以下是在 XML 布局文件中设置 layout_gravity
的示例:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Top"
android:layout_gravity="top"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Bottom"
android:layout_gravity="bottom"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Left"
android:layout_gravity="left"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Right"
android:layout_gravity="right"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Center"
android:layout_gravity="center"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Center Horizontal"
android:layout_gravity="center_horizontal"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Center Vertical"
android:layout_gravity="center_vertical"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Fill"
android:layout_gravity="fill"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Fill Horizontal"
android:layout_gravity="fill_horizontal"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Fill Vertical"
android:layout_gravity="fill_vertical"/>
</LinearLayout>
在代码中设置 layout_gravity
的示例:
LinearLayout linearLayout = findViewById(R.id.linearLayout);
TextView textView = new TextView(this);
textView.setText("Top");
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
layoutParams.gravity = Gravity.TOP;
textView.setLayoutParams(layoutParams);
linearLayout.addView(textView);