Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Android中自动调整一组组件的大小?_Java_Android_Xml_Android Studio - Fatal编程技术网

Java 如何在Android中自动调整一组组件的大小?

Java 如何在Android中自动调整一组组件的大小?,java,android,xml,android-studio,Java,Android,Xml,Android Studio,我正在尝试调整constraintlayout下包含的一组3个切换按钮的大小。 如果我给出的布局尺寸是101dp,每个按钮的尺寸是50dp,那么android会完整地绘制第一个按钮(0-49dp),然后它会完整地绘制第二个按钮(50-100dp),然后再绘制下一个按钮(应该是101-149dp,但需要51-101dp),考虑到按钮之间没有边距。现在,如果没有足够的空间,那么它将从可以完全绘制按钮的点开始(如第三个按钮)。这导致第三个按钮与第二个按钮重叠,第三个按钮将位于第二个按钮后面 我想做的是

我正在尝试调整constraintlayout下包含的一组3个切换按钮的大小。 如果我给出的布局尺寸是101dp,每个按钮的尺寸是50dp,那么android会完整地绘制第一个按钮(0-49dp),然后它会完整地绘制第二个按钮(50-100dp),然后再绘制下一个按钮(应该是101-149dp,但需要51-101dp),考虑到按钮之间没有边距。现在,如果没有足够的空间,那么它将从可以完全绘制按钮的点开始(如第三个按钮)。这导致第三个按钮与第二个按钮重叠,第三个按钮将位于第二个按钮后面

我想做的是,如果出现这种情况,它应该调整每个按钮的大小,使所有按钮都具有相同的大小

请告诉我如何才能做到这一点。

XML或通过Java程序-任何都可以。

3个切换按钮的代码组成一组
`
`

使用线性布局并为所有切换按钮指定权重

您能举个例子吗?给我一张您想要的图片
`<android.support.constraint.ConstraintLayout
android:id="@+id/populationButtons"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:background="@color/colorAccent"
    android:layout_marginTop="16dp"
    android:layout_marginEnd="10dp"
    android:layout_marginStart="250dp"
    app:layout_constraintStart_toEndOf="@id/populationLabel"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintHorizontal_chainStyle="packed">

    <ToggleButton
        android:id="@+id/populationValue1"
        android:layout_width="wrap_content"
        android:layout_height="30dp"
        android:background="@drawable/nntscreenbuttons"
        android:checked="true"
        android:text="@string/SensSpecCalcScreen_PopuVal1"
        android:textColor="@drawable/nntscreenbuttontext"
        android:textOff="@string/SensSpecCalcScreen_PopuVal1"
        android:textOn="@string/SensSpecCalcScreen_PopuVal1"
        app:layout_constraintHorizontal_chainStyle="packed"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toStartOf="@id/populationValue2"
        app:layout_constraintTop_toTopOf="parent" />

    <ToggleButton
        android:id="@+id/populationValue2"
        android:layout_width="wrap_content"
        android:layout_height="30dp"
        android:background="@drawable/nntscreenbuttons"
        android:text="@string/SensSpecCalcScreen_PopuVal2"
        android:textColor="@drawable/nntscreenbuttontext"
        android:textOff="@string/SensSpecCalcScreen_PopuVal2"
        android:textOn="@string/SensSpecCalcScreen_PopuVal2"
        app:layout_constraintHorizontal_chainStyle="packed"
        app:layout_constraintStart_toEndOf="@+id/populationValue1"
        app:layout_constraintEnd_toStartOf="@id/populationValue3"
        app:layout_constraintTop_toTopOf="parent" />

    <ToggleButton
        android:id="@+id/populationValue3"
        android:layout_width="wrap_content"
        android:layout_height="30dp"
        android:background="@drawable/nntscreenbuttons"
        android:text="@string/SensSpecCalcScreen_PopuVal3"
        android:textColor="@drawable/nntscreenbuttontext"
        android:textOff="@string/SensSpecCalcScreen_PopuVal3"
        android:textOn="@string/SensSpecCalcScreen_PopuVal3"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_chainStyle="packed"
        app:layout_constraintStart_toEndOf="@+id/populationValue2"
        app:layout_constraintTop_toTopOf="parent" />

  </android.support.constraint.ConstraintLayout>`