【发布时间】:2019-05-25 15:21:48
【问题描述】:
使用约束布局制作计算器 UI,但无法将按钮拉伸到不同尺寸设备的父级。想要每个设备中的第一张图片一样的布局。
这是我做的。 这是它改变对齐的地方。
<TextView
android:id="@+id/textView"
android:layout_width="0dp"
android:layout_height="330dp"
android:layout_margin="0dp"
android:layout_marginStart="2dp"
android:layout_marginEnd="2dp"
android:background="@android:color/background_dark"
android:gravity="bottom|right"
android:maxLength="17"
android:maxLines="2"
android:nestedScrollingEnabled="false"
android:text="@string/_0"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="70sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="RtlHardcoded" />
<Button
android:id="@+id/button25"
android:layout_width="195px"
android:layout_height="wrap_content"
android:background="?attr/colorButtonNormal"
android:text="AC"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView" />
<Button
android:id="@+id/button26"
android:layout_width="195px"
android:layout_height="0dp"
android:layout_margin="0dp"
android:background="?attr/colorButtonNormal"
android:text="+/-"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintBaseline_toBaselineOf="@+id/button25"
app:layout_constraintStart_toEndOf="@+id/button25" />
代码很大,所以只添加起始行。
【问题讨论】:
-
一个快速的解决方案是将按钮宽度设置为
0dp,然后将layout_constraintWidth_percent=0.25添加到所有网格按钮。或者,应该可以使用左/右约束将所有网格按钮行链接在一起(这会自动赋予它们相等的宽度),但我不确定如何让它们填充所有可用宽度案例。
标签: android user-interface android-constraintlayout