Android Studio 布局问题

370 阅读1分钟

1. 父布局为 LinearLayout

如果父布局是 LinearLayout,可以使用 android:layout_gravity 属性来控制 TextView 的位置。

示例代码:

xml复制

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:id="@+id/tvVersion"
        android:layout_width="match_parent"
        android:layout_height="20dp"
        android:layout_gravity="bottom"  <!-- 让 TextView 贴近父布局的底部 -->
        android:layout_marginLeft="10dp"
        android:gravity="center_horizontal"
        android:text="Version" />
</LinearLayout>

2. 父布局为 RelativeLayout

如果父布局是 RelativeLayout,可以使用 android:layout_alignParentBottom="true" 来让 TextView 贴近父布局的底部。

示例代码:

xml复制

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/tvVersion"
        android:layout_width="match_parent"
        android:layout_height="20dp"
        android:layout_alignParentBottom="true"  <!-- 让 TextView 贴近父布局的底部 -->
        android:layout_marginLeft="10dp"
        android:gravity="center_horizontal"
        android:text="Version" />
</RelativeLayout>

3. 父布局为 ConstraintLayout

如果父布局是 ConstraintLayout,可以使用 app:layout_constraintBottom_toBottomOf="parent" 来让 TextView 贴近父布局的底部。

示例代码:

xml复制

<androidx.constraintlayout.widget.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/tvVersion"
        android:layout_width="match_parent"
        android:layout_height="20dp"
        android:layout_marginLeft="10dp"
        android:gravity="center_horizontal"
        android:text="Version"
        app:layout_constraintBottom_toBottomOf="parent"  <!-- 让 TextView 贴近父布局的底部 -->
        app:layout_constraintLeft_toLeftOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

4. 父布局为 FrameLayout

如果父布局是 FrameLayout,可以使用 android:layout_gravity 属性来控制 TextView 的位置。

示例代码:

xml复制

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/tvVersion"
        android:layout_width="match_parent"
        android:layout_height="20dp"
        android:layout_gravity="bottom"  <!-- 让 TextView 贴近父布局的底部 -->
        android:layout_marginLeft="10dp"
        android:gravity="center_horizontal"
        android:text="Version" />
</FrameLayout>

总结

根据你的父布局类型,选择合适的方法来让 TextView 贴近父布局的底部:

  • LinearLayout:使用 android:layout_gravity="bottom"
  • RelativeLayout:使用 android:layout_alignParentBottom="true"
  • ConstraintLayout:使用 app:layout_constraintBottom_toBottomOf="parent"
  • FrameLayout:使用 android:layout_gravity="bottom"