大于4列的按钮的Gridlayout

时间:2017-10-25 11:00:31

标签: android android-layout grid-layout

我正在尝试制作一个8x8按钮的GridLayout(就像扫雷一样)。我管理的重量都有相同的宽度,但它工作正常,直到4个按钮。当我在第4列添加第5个按钮时,它们会全屏展开宽度。这是我的xml:

<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/GridLayout1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="8dp"
    android:columnCount="8"
    android:orientation="horizontal"
    android:rowCount="8"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/b1"
        android:layout_column="0"
        android:layout_columnWeight="1"
        android:layout_row="0"
        android:text="B" />

    <Button
        android:id="@+id/b2"
        android:layout_column="1"
        android:layout_columnWeight="1"
        android:layout_row="0"
        android:text="B" />


    <Button
        android:id="@+id/b3"
        android:layout_column="2"
        android:layout_columnWeight="1"
        android:layout_row="0"
        android:text="B" />
    <Button
        android:id="@+id/b4"
        android:layout_column="3"
        android:layout_columnWeight="1"
        android:layout_row="0"
        android:text="B" />
</GridLayout>

使用4按钮进行设计:4 button

当我将第5个按钮添加到4列时:button expands

谢谢!

2 个答案:

答案 0 :(得分:0)

尝试为各种屏幕尺寸创建布局

ldpi (low) ~120dpi
mdpi (medium) ~160dpi
hdpi (high) ~240dpi
xhdpi (extra-high) ~320dpi
xxhdpi (extra-extra-high) ~480dpi
xxxhdpi (extra-extra-extra-high) ~640dpi

我尝试了各种适合我的屏幕尺寸,但如果超出布局,按钮会展开

答案 1 :(得分:0)

问题是一旦达到最大宽度,第五个按钮就没有空间,所以它占据整行。

你必须维护单独的xml文件,它将解决你的问题。