android - layout - 调整ImageButtons的大小?

时间:2012-09-12 15:23:49

标签: android layout resize tablelayout

我写了一个布局。在布局上有5个按钮。

http://imageshack.us/photo/my-images/607/layout.gif/

这是我的Tablelayout:

<TableLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:shrinkColumns="0,1"  android:stretchColumns="*">


<TableRow
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:gravity="center_horizontal">
    <TextView
        android:layout_width="match_parent" 
        android:layout_height="wrap_content"
        android:textSize="14dp" 
        android:text="Hello"  
        android:layout_span="5"
        android:paddingTop="27dp"
        android:paddingBottom="25dp"
        android:textColor="#ffffff" 
        android:gravity="center" />
</TableRow> 

<TableRow>

    <FrameLayout
        android:layout_weight="0.2">
    </FrameLayout>   

    <FrameLayout
        android:layout_weight="0.2">
        <ImageButton
            android:id="@+id/ImageButton1"
            android:background="@drawable/ImageButton1"
            android:layout_width="97dp"
            android:layout_height="90dp" 
            android:layout_gravity="center"
            android:scaleType="center"
             />
    </FrameLayout>

    <FrameLayout
        android:layout_weight="0.2">
       <ImageButton
            android:id="@+id/ImageButton2"
            android:layout_width="97dp"
            android:layout_height="90dp"
            android:background="@drawable/ImageButton2"
            android:layout_gravity="center"
            android:scaleType="center" />           
    </FrameLayout>

    <FrameLayout
        android:layout_weight="0.2">
       <ImageButton
            android:id="@+id/ImageButton3"
            android:layout_width="97dp"
            android:layout_height="90dp"
            android:background="@drawable/ImageButton3"
            android:layout_gravity="center"
            android:scaleType="center" />
    </FrameLayout>

    <FrameLayout
        android:layout_weight="0.2">
    </FrameLayout>   

</TableRow>

<TableRow>

    <FrameLayout
        android:layout_weight="0.2">
    </FrameLayout>   

    <TextView
            android:textSize="12dp" 
            android:text="Text1"  
            android:padding="3dp"
            android:textColor="#fff" 
            android:gravity="center" />   

    <TextView
            android:textSize="12dp" 
            android:text="Text2"  
            android:padding="3dp"
            android:textColor="#fff" 
            android:gravity="center" />  

    <TextView
            android:textSize="12dp" 
            android:text="Text3"  
            android:padding="3dp"
            android:textColor="#fff" 
            android:gravity="center" />  

    <FrameLayout
        android:layout_weight="0.2">
    </FrameLayout>   

</TableRow>

<View
    android:layout_height="30dp" />

<TableRow>

    <FrameLayout
        android:layout_weight="0.2">
    </FrameLayout>   

    <FrameLayout
        android:layout_weight="0.2">

        <ImageButton
            android:id="@+id/ImageButton4"
            android:layout_width="97dp"
            android:layout_height="90dp"
            android:background="@drawable/ImageButton4"
            android:scaleType="center"
            android:layout_gravity="center" />
    </FrameLayout>

    <FrameLayout
        android:layout_weight="0.2">
        <ImageButton
            android:id="@+id/ImageButton5"
            android:layout_width="97dp"
            android:layout_height="90dp"
            android:background="@drawable/ImageButton5
            android:scaleType="center"
            android:layout_gravity="center" />        
    </FrameLayout>

    <FrameLayout
        android:layout_weight="0.2">
    </FrameLayout>

    <FrameLayout
        android:layout_weight="0.2">
    </FrameLayout>   

</TableRow>

</TableLayout>

我的大智能手机上的一切都很好用。但当我用我的小智能手机看它时,底部屏幕上没有足够的空间了。我怎样才能改变它,表格布局可以扩展所有内容。

我在这里通过图像按钮给出了这个:

android:layout_width="97dp"
android:layout_height="90dp" 

这就是为什么小智能手机底部没有足够空间的原因。表格布局应缩放图像按钮。图像按钮没有方形。它像矩形。

表格布局应为水平100%,垂直100%。

1 个答案:

答案 0 :(得分:1)

我认为问题是由于缩放,而不是根据屏幕尺寸缩小。  您需要为所有三个类别hdpi,mdpi和ldpi制作适当密度的新drawable。

要计算所需的密度,可以使用此工具  http://labs.skinkers.com/content/android_dp_px_calculator/

缩放取决于屏幕尺寸和屏幕密度两个方面。

有关详细信息,您可以查看developer site,您会发现Android如何粗略地缩放图像 enter image description here