在linearlayout中拉伸图像按钮以使用可用空间

时间:2012-06-04 20:31:03

标签: android layout relativelayout android-linearlayout imagebutton

我一直在使用一些XML来实现以下目标;

第一行是横幅(工作正常)。然后;我每排有3个按钮。我希望按钮占据所有水平空间(因此;屏幕宽度偏移3)。此外,按钮上的图像应调整到该宽度,而不会改变宽高比!怎么办呢?

下一步;如果我添加ImageButtons行,我应该如何'滚动'滚动视图中的LinearLayouts以保持3个按钮的宽度分布?

日Thnx

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_centerHorizontal="true"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/blogbanner"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:scaleType="fitXY"
        android:src="@drawable/test_banner_ad" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1" >

        <ImageButton
            android:id="@+id/imageButton1"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:scaleType="fitXY"
            android:src="@drawable/trololo" />

        <ImageButton
            android:id="@+id/imageButton2"
            android:layout_width="wrap_content"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:scaleType="matrix"
            android:src="@drawable/scout" />

        <ImageButton
            android:id="@+id/imageButton3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:scaleType="fitEnd"
            android:src="@drawable/painting" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1" >

        <ImageButton
            android:id="@+id/imageButton4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/whoop" />

        <ImageButton
            android:id="@+id/imageButton5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/drown" />

        <ImageButton
            android:id="@+id/imageButton6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/love" />
    </LinearLayout>



    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1" >

        <ImageButton
            android:id="@+id/imageButton7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/shredder" />

        <ImageButton
            android:id="@+id/imageButton8"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/frog" />

        <ImageButton
            android:id="@+id/imageButton9"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/yeah03" />
    </LinearLayout>
</LinearLayout>

1 个答案:

答案 0 :(得分:1)

将每行的3个按钮放入另一个水平布局,然后使用“weight”属性来定义它们的宽度。

图像需要具有尺寸“fill_parent”&amp;使用scaleXY