-1

私のレイアウトには 3 つの ImageButtons が含まれており、縦方向に配置されていLinearLayoutます。

今、私はそれらのそれぞれが同じ高さを持ち、一緒にデバイスの画面の高さを埋めたいと思っています.

属性で正常に動作しますandroid:layout_weight="1"。ただし、1 つの画像ImageButtonが大きすぎると、 を設定しても機能しません (このボタンは他のボタンよりも高くなっています) android:scaleType="center_inside"

アドバイス/コツはありますか?コードが必要な場合はお知らせください。しかし、特別なことは何もありません。

4

1 に答える 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 に答える