温馨提示×

layout_gravity怎样设置对齐方式

小樊
83
2024-10-16 20:01:27
栏目: 编程语言

layout_gravity 是 Android 中用于设置子视图在其父布局中的对齐方式的属性。这个属性可以设置为以下值之一:

  1. top:子视图位于父布局的顶部。
  2. bottom:子视图位于父布局的底部。
  3. left:子视图位于父布局的左侧。
  4. right:子视图位于父布局的右侧。
  5. center:子视图位于父布局的中心。
  6. center_horizontal:子视图在水平方向上位于父布局的中心。
  7. center_vertical:子视图在垂直方向上位于父布局的中心。
  8. fill:子视图将填充其父布局的空间,可能会改变其大小。
  9. fill_horizontal:子视图在水平方向上填充其父布局的空间。
  10. 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);

0