0

你好我有这个屏幕

在此处输入图像描述

我用这段代码制作的。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res/com.example.test.project"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                app:layout_gravity="fill_horizontal"
                android:text="1" />

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                app:layout_gravity="fill_horizontal"
                android:text="2" />

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                app:layout_gravity="fill_horizontal"
                android:text="3" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                app:layout_gravity="fill_horizontal"
                android:text="4" />

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                app:layout_gravity="fill_horizontal"
                android:text="5" />

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                app:layout_gravity="fill_horizontal"
                android:text="6" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                app:layout_gravity="fill_horizontal"
                android:text="7" />

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                app:layout_gravity="fill_horizontal"
                android:text="8" />

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                app:layout_gravity="fill_horizontal"
                android:text="9" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal" >

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                app:layout_gravity="fill_horizontal"
                android:text="10" />

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                app:layout_gravity="fill_horizontal"
                android:text="11" />

            <Button
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                app:layout_gravity="fill_horizontal"
                android:text="12" />
        </LinearLayout>
    </LinearLayout>

</RelativeLayout>

有没有办法做到这一点GridLayout,我尝试使用 GridLayout 但它只能连续使用 2 个按钮,但使用 3 个按钮不起作用,我使用了这个答案中的代码?

4

2 回答 2

0

你不会喜欢我的回答,但说​​白了,你不能。GridLayout 不支持任何类型的布局“加权”。对于文本,您通常可以使用 app:layout_gravity 选项,但对于按钮等项目,这将不起作用。

最好的办法是在 GridLayout 中使用线性布局。与您已有的相比并没有真正改善,但至少您可以摆脱您拥有的第一个线性布局。您需要的只是顶部的 GridLayout,然后是每行按钮的 1 个线性布局。这将提高性能。

http://android-developers.blogspot.com/2011/11/new-layout-widgets-space-and-gridlayout.html

“从其他布局模拟功能”部分提示如何在此场景中使用 GridLayout 中的 LinearLayout 是更好的选择。

于 2013-02-07T21:45:40.473 回答
-1

您必须更改 GridLayout android:rowCount="3"。试试这个链接这个

<GridLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:columnCount="3"
    android:rowCount="3" >

    <TextView
        android:text="1,1" />

    <TextView
        android:text="1,2" />

    <TextView
        android:text="1,3" />


    <TextView
        android:text="2,1" />

    <TextView
        android:text="2,2" />

    <TextView
        android:text="2,3" />

    <TextView
        android:text="3,1" />

    <TextView
        android:text="3,2" />

    <TextView
        android:text="3,3" />


</GridLayout>

编辑:阅读此链接链接

于 2013-01-07T20:06:47.830 回答