我有一个数字键盘,如图所示
如您所见,仅有单行的按钮未正确对齐。我知道通过将android:baselineAligned
设为false我们可以解决这个问题。但GridLayout没有任何此类属性。
我该如何解决?
修改
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2" >
<GridLayout
android:id="@+id/buttons_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:alignmentMode="alignMargins"
android:layout_alignParentRight="true"
android:layout_below="@+id/phone_number"
android:layout_marginRight="@dimen/buttons_margin_right"
android:layout_marginTop="10dp"
android:columnCount="3" >
<Button
android:id="@+id/button1"
android:layout_width=""65dp
android:layout_height=""40dp
android:textColor="@android:color/white"
android:layout_marginTop="5dp"
android:gravity="center"
android:layout_marginLeft="10dp"
android:text="1" />
<Button
android:id="@+id/button2"
android:layout_width=""65dp
android:layout_height=""40dp
android:textColor="@android:color/white"
android:layout_marginTop="5dp"
android:gravity="center"
android:layout_marginLeft="10dp"
android:text="2\nABC" />
.
.
.
</GridLayout>
<RelativeLayout>
答案 0 :(得分:3)
我也有同样的问题,textviews的固定高度是appcombat GridLayout的子项。 每当我有一个带有两行的textview的单元格而不是带有一行的其他单元格时,就会出现错误的对齐。
对我来说,当我添加
时,行已正确对齐 grid:layout_rowWeight="1"
无法解释,但有效。
答案 1 :(得分:1)
我设法通过用虚拟布局包装每个元素来解决这个问题:
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/button1"
android:layout_width=""65dp
android:layout_height=""40dp
android:textColor="@android:color/white"
android:layout_marginTop="5dp"
android:gravity="center"
android:layout_marginLeft="10dp"
android:text="1" />
</RelativeLayout>