RelativeLayout 中自动缩放按钮的宽度

Auto scaling button's width in RelativeLayout

<?xml version="1.0" encoding="utf-8"?>

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="match_parent"
        android:layout_height="match_parent">

    <Button
        android:id="@+id/btn1"
        android:layout_width="wrap_content"
        android:layout_height="match_parent" />

    <Button

        android:id="@+id/btn2"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_toRightOf="@+id/btn1"/>

     <Button
        android:id="@+id/btn2"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_toRightOf="@+id/btn1"/>

      <!--x7-->

我在其相对布局中放置了 7 个按钮。我想将它们的 'width' 调整为相同的大小以适合屏幕。我该怎么办

您可以使用 LinearLayout 作为父级,并可以给 weightweightsum 来实现,使用相对布局不能适合整个屏幕,否则它可能会超过基于设备的屏幕。

您可以使用如下所示的 LinearLayout 实现此目的,

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="horizontal"
              android:layout_width="match_parent"
              android:weightSum="7"
              android:layout_height="match_parent">
    <Button
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content" />

    <Button
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content" />
    <Button
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content" />
    <Button
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content" />
    <Button
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content" />
    <Button
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content" />
    <Button
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content" />

</LinearLayout>

如果您正在考虑显示每个按钮(高度= match_parent),请使用滚动视图。希望对您有所帮助