Android GridLayout适合所有尺寸

Android GridLayout适合所有尺寸,android,android-gridlayout,Android,Android Gridlayout,我正在Android上移植iOS应用程序,但无法适应所有尺寸的简单布局: 问题是图像按钮无法缩放。 此布局仅适用于Nexus 4 我把图像放在可绘制的mdpi中 GridLayout必须是一个表,其WebView在顶部和3x3按钮图像上跨越3列 <?xml version="1.0" encoding="utf-8"?> <GridLayout xmlns:android="http://schemas.android.com/apk/res/android" android:

我正在Android上移植iOS应用程序,但无法适应所有尺寸的简单布局:

问题是图像按钮无法缩放。 此布局仅适用于Nexus 4

我把图像放在可绘制的mdpi中

GridLayout必须是一个表,其WebView在顶部和3x3按钮图像上跨越3列

<?xml version="1.0" encoding="utf-8"?>
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:scaleType="center"
android:useDefaultMargins="true" >

<WebView
    android:id="@+id/userWebView"

    android:layout_height="120dp"
    android:layout_column="1"
    android:layout_columnSpan="3"
    android:layout_gravity="fill_horizontal"
    android:layout_row="0" />

<ImageButton
    android:id="@+id/btn1"
    android:layout_column="0"
    android:layout_columnSpan="2"
    android:layout_row="1"
    android:background="@drawable/box_1"
    android:scaleType="fitCenter" />

<ImageButton
    android:id="@+id/btn2"
    android:layout_column="2"
    android:layout_row="1"
    android:background="@drawable/box_2"
    android:scaleType="fitCenter" />

<ImageButton
    android:id="@+id/btn3"
    android:layout_width="wrap_content"
    android:layout_column="3"
    android:layout_row="1"
    android:background="@drawable/box_3"
    android:scaleType="center" />

<ImageButton
    android:id="@+id/btn4"
    android:layout_column="0"
    android:layout_columnSpan="2"
    android:layout_row="3"
    android:layout_rowSpan="2"
    android:background="@drawable/box_4"
    android:scaleType="fitCenter" />

<ImageButton
    android:id="@+id/btn5"
    android:layout_column="2"
    android:layout_row="4"
    android:background="@drawable/box_5"
    android:scaleType="fitCenter" />

<ImageButton
    android:id="@+id/btn6"
    android:layout_width="wrap_content"
    android:layout_column="3"
    android:layout_row="4"
    android:background="@drawable/box_6"
    android:scaleType="fitCenter" />

<ImageButton
    android:id="@+id/btn7"
    android:layout_column="0"
    android:layout_columnSpan="2"
    android:layout_row="6"
    android:layout_rowSpan="2"
    android:background="@drawable/box_7"
    android:scaleType="fitCenter" />

<ImageButton
    android:id="@+id/btn8"
    android:layout_column="2"
    android:layout_gravity="left|bottom"
    android:layout_row="7"
    android:background="@drawable/box_8"
    android:scaleType="fitCenter" />

<ImageButton
    android:id="@+id/btn9"
    android:layout_column="3"
    android:layout_row="7"
    android:background="@drawable/box_9"
    android:scaleType="fitCenter" />

</GridLayout>

不要只将图像放在可绘制的mdpi中,也不要将方便的图像放在其他可共同绘制的文件夹中,如可绘制的hdpi、可绘制的xhdpi等。或者只创建一个名为drawable的新文件夹,没有前缀或后缀,并将图像放在其中

问题是,不同分辨率的设备是不同的,例如xhdpi。。。。我只是想为当前屏幕调整图像按钮的大小。在nexus 4 3x3按钮120px上,每个图像都完美匹配:\n确定清空所有可绘制文件夹,创建一个名为drawable的文件夹,无预修复或后缀,并将图像资产放入其中,如果可用,请将图像制作为9-patch,以便在所有设备上完美匹配,你能发布到目前为止你测试过的设备的屏幕截图吗?正如你在nexus s中看到的那样,按钮3、6和9被剪掉了,nexus 4中的所有按钮都非常完美。让你的网格\u视图宽度填充\u父级