Imagebutton使用双嵌套layout_weights错误地渲染

时间:2012-12-31 05:21:09

标签: android android-layout android-xml

使用这些图片:

enter image description here (333x300) enter image description here (1680x1050)

和这个布局:

<?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="wrap_content"
    android:layout_margin="12dp"
    android:orientation="vertical">

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

        <ImageButton
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:scaleType="fitCenter"
            android:src="@drawable/apple" />

        <ImageButton
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:scaleType="fitCenter"
            android:src="@drawable/apple" />
    </LinearLayout>

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

        <ImageButton
            style="@style/OtherButton"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:scaleType="fitCenter"
            android:src="@drawable/orange" />

        <ImageButton
            style="@style/OtherButton"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:scaleType="fitCenter"
            android:src="@drawable/orange" />

    </LinearLayout>
</LinearLayout>

给出了这个结果:

enter image description here

只有单独嵌套的布局,苹果和橙色按钮的大小相同。在弄乱Eclipse之后,我注意到当图像较大时按钮往往会更高,但相对比例似乎不符合特定模式。

为什么按钮的高度不同?是否有一种可以使用的替代方法,可以根据屏幕分辨率和密度进行缩放?

1 个答案:

答案 0 :(得分:1)

进行以下更改。

在您的主要布局中,将layout_height设为android:layout_height="fill_parent"