7

我有一个如图所示的数字键盘

这里

如您所见,只有单行的按钮没有正确对齐。我知道通过设置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>
4

2 回答 2

3

对于作为 appcombat GridLayout 子级的 textview 的固定高度,我也遇到了同样的问题。每次我有一个带有两行文本视图的单元格而不像其他有一个的单元格时,都会出现错误的对齐方式。

对我来说,当我添加一个

grid:layout_rowWeight="1"

无法解释,但它奏效了。

于 2017-05-01T19:00:30.577 回答
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>
于 2014-02-27T10:54:07.327 回答