0

ImageButtonこのレイアウトを使用しているときにmy が表示されない理由を教えてください:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/main"
    android:orientation="vertical" >


    <ImageButton
        android:id="@+id/continuebutton"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1.02"
        android:background="@android:color/transparent"
        android:src="@drawable/continuebutton"
        android:visibility="visible" />

</RelativeLayout>

を使用するLinearLayoutと、問題なく表示されます。誰かが私が間違っていることを明確にしてもらえますか?

4

1 に答える 1

1

RelativeLayout に layout_weight を追加しようとしていますが、意味がありません。相対レイアウトは、項目を相互に相対的に配置します。フローは LinearLayout では重要であり、Relative レイアウトでは重要ではないため、LinearLayout のように幅と高さが全体として計算されることはありません。

ボタンを wrap_content または match_parent に設定します。ウェイトが必要な場合は、RelativeLayout 内に LinearLayout をネストします。

ここでの追加情報: RelativeLayout の幅のパーセンテージ

編集 LinearLayout は、子ビューをレイアウトする方法について計算が行われるときに、その方向の重みと 0dip の値を調べます。水平線形レイアウトに 2 つのアイテムが並んでいるとします...それらが両方とも 0dip 幅の場合、幅は重みに基づいて計算されます。RelativeLayout はこれを行いません。アイテムの流れを気にしません。互いの配置に関連してアイテムを配置します。

HTH

于 2012-08-14T23:26:55.550 に答える