Java 如何在Android中自动调整一组组件的大小?
我正在尝试调整constraintlayout下包含的一组3个切换按钮的大小。 如果我给出的布局尺寸是101dp,每个按钮的尺寸是50dp,那么android会完整地绘制第一个按钮(0-49dp),然后它会完整地绘制第二个按钮(50-100dp),然后再绘制下一个按钮(应该是101-149dp,但需要51-101dp),考虑到按钮之间没有边距。现在,如果没有足够的空间,那么它将从可以完全绘制按钮的点开始(如第三个按钮)。这导致第三个按钮与第二个按钮重叠,第三个按钮将位于第二个按钮后面 我想做的是,如果出现这种情况,它应该调整每个按钮的大小,使所有按钮都具有相同的大小 请告诉我如何才能做到这一点。 XML或通过Java程序-任何都可以。 3个切换按钮的代码组成一组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),考虑到按钮之间没有边距。现在,如果没有足够的空间,那么它将从可以完全绘制按钮的点开始(如第三个按钮)。这导致第三个按钮与第二个按钮重叠,第三个按钮将位于第二个按钮后面 我想做的是
`
`
使用线性布局并为所有切换按钮指定权重您能举个例子吗?给我一张您想要的图片
`<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>`