我的布局包含3个ImageButtons,垂直排列在LinearLayout
。
现在我希望它们每个都具有相同的高度,并且一起填充设备的屏幕高度。
使用属性android:layout_weight="1"
正常工作。但是,如果一个ImageButton
的图像太大,它将无法工作(此按钮高于其他按钮),尽管设置为android:scaleType="center_inside"
。
任何建议/伎俩? 如果您需要任何代码,请告诉我们。但是没有什么特别的。
答案 0 :(得分: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并根据您的需要替换drawable。如果有任何问题,请告诉我。