如何为图像按钮指定灵活的尺寸?

时间:2013-11-24 14:51:13

标签: android imagebutton

我想创建一个灵活大小的图像按钮,这样它们可以毫无问题地适应任何Android设备,这就是我正在使用的代码:

 <GridLayout
        android:id="@+id/grid1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_centerInParent="true"
        android:layout_marginTop="150dp"
        android:background="@drawable/corneres"
        android:columnCount="1"
        android:orientation="vertical" >

        <ImageButton
            android:id="@+id/imageButton1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/homeview"
            android:scaleType="centerInside"
            android:adjustViewBounds="true" />

        <ImageButton
            android:id="@+id/imageButton3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_column="0"
            android:layout_gravity="right|top"
            android:layout_row="0"
            android:src="@drawable/profiles"         
            android:scaleType="centerInside"
            android:adjustViewBounds="true"/>

        <ImageButton
            android:id="@+id/imageButton2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_column="0"
            android:layout_gravity="center"
            android:layout_row="0"
            android:src="@drawable/ac" 
            android:scaleType="centerInside"
            android:adjustViewBounds="true"/>

          .
          .
          .

    </GridLayout>

that是我从某个设备获得的输出。

1 个答案:

答案 0 :(得分:0)

GridLayout换成ScrollView

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
     <GridLayout
         android:id="@+id/grid1"
         android:layout_width="fill_parent"
         android:layout_height="fill_parent"
         android:layout_centerInParent="true"
         android:layout_marginTop="150dp"
         android:background="@drawable/corneres"
         android:columnCount="1"
         android:orientation="vertical" >

         <ImageButton
             android:id="@+id/imageButton1"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:src="@drawable/homeview"
             android:scaleType="centerInside"
             android:adjustViewBounds="true" />  
         ....
         ....
         ....  
    </GridLayout>  
</ScrollView>  

更新

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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="horizontal" >

        <ImageButton
             android:id="@+id/imageButton1"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:src="@drawable/image"
             android:layout_weight="1"
             android:scaleType="centerInside"
             android:adjustViewBounds="true" />
        <ImageButton
             android:id="@+id/imageButton2"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:src="@drawable/image"
             android:layout_weight="1"
             android:scaleType="centerInside"
             android:adjustViewBounds="true" />
        <ImageButton
             android:id="@+id/imageButton3"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:src="@drawable/image"
             android:layout_weight="1"
             android:scaleType="centerInside"
             android:adjustViewBounds="true" />

    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="horizontal" >

        <ImageButton
             android:id="@+id/imageButton4"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:src="@drawable/image"
             android:layout_weight="1"
             android:scaleType="centerInside"
             android:adjustViewBounds="true" />
        <ImageButton
             android:id="@+id/imageButton5"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:src="@drawable/image"
             android:layout_weight="1"
             android:scaleType="centerInside"
             android:adjustViewBounds="true" />
        <ImageButton
             android:id="@+id/imageButton6"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             android:src="@drawable/image"
             android:scaleType="centerInside"
             android:layout_weight="1"
             android:adjustViewBounds="true" />

    </LinearLayout>

</LinearLayout>