Android GridLayout适合所有尺寸

时间:2013-09-04 08:53:56

标签: android android-gridlayout

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

问题是ImageButton不能扩展。 这种布局非常适合仅使用Nexus 4的手套

我将图片放在drawable-mdpi

GridLayout必须是一张WebView的表格,其顶部有3列,3x3按钮图片

<?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>

1 个答案:

答案 0 :(得分:0)

不要将图片放在drawable-mdpi中,也可以将方便的图片放到其他可共同绘制的文件夹中,例如drawable-hdpidrawable-xhdpi等。或者只创建一个名为{的新文件夹{1}},没有前缀或后缀,并将图像放入其中