-1

我的布局包含 3 个 ImageButton,垂直排列在LinearLayout.

现在我希望它们每个都具有相同的高度并一起填充设备的屏幕高度。

与属性一起工作正常android:layout_weight="1"。但是如果一个图像ImageButton太大,它就不起作用(这个按钮比其他按钮高),尽管设置android:scaleType="center_inside".

有什么建议/技巧吗?如果您需要任何代码,请告诉我。但是没有什么特别的。

4

1 回答 1

1

如果您正确地给出了权重,那么这应该有效。图像的大小并不重要。使用权重时要记住的一件事是,您为其赋予权重(高度/宽度)的属性应在 xml 中分配值“0dp”,只有这样权重才能正常工作。这是示例代码。

<?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" 
android:gravity="center"
android:weightSum="3">

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:src="@drawable/drawable1"
    android:layout_weight="1" 
    android:scaleType="centerInside"
    />

<ImageView
    android:id="@+id/imageView2"
    android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:src="@drawable/drawable2"
    android:scaleType="fitXY" />

<ImageView
    android:id="@+id/imageView3"
    android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:src="@drawable/drawable3"
    android:scaleType="fitXY" />

</LinearLayout>

只需使用此 xml 并根据您的需要替换可绘制对象。让我知道是否有任何问题。

于 2012-11-10T11:28:55.377 回答