0

私が達成したいことは、コードを介して実行できると確信していますが、(可能であれば) 宣言型 XML を介して実行する必要があります。あるボタンを別のボタンの半分の高さに設定したいと思います。

ViewGroup のドキュメントで、他のコンポーネントを参照できることを発見しました。

これは、この型の値を含むリソース ("@[package:]type:name" の形式) またはテーマ属性 ("?[package:][type:]name" の形式) への参照である場合もあります。 .

ただし、それを必要なものに変換する方法がわかりません。

私のアクティビティ xml の基本的なレイアウトは次のとおりです。

< 相対レイアウト ... >

<LinearLayout ... >

    <fragment ... />

    <LinearLayout ... >

        <ImageButton
            ...
            android:id="@+id/userButton"
            android:layout_height=" *tag_button:layout_height / 2? "
            ... />

        <ImageButton
            ...
            android:id="@+id/searchButton"
            android:layout_height=" *tag_button:layout_height / 2? "
            ... />
    </LinearLayout>
</LinearLayout>

<Button
    android:id="@+id/tag_button"
    android:layout_height="wrap_content"
    ... />

< /RelativeLayout>

そして、私が本当に望んでいるのは、userButton:layout_height と searchButton:layout_height の両方を tag_button:layout_height の半分に設定することだけです

よろしくお願いします!

4

2 に答える 2

1

両方のボタンを線形レイアウトに配置する場合は、レイアウトの重みを使用できます

<LinearLayout ... >

    <ImageButton
        ...
        android:id="@+id/userButton"
        android:layout_height="0dip"
        android:layout_weight="1"
        ... />

    <ImageButton
        ...
        android:id="@+id/searchButton"
        android:layout_height="0dip"
        android:layout_weight="2"
        ... />
</LinearLayout>

XML で別の要素の幅を直接参照する方法があるかどうかはわかりません。ただし、レイアウトに作業を任せることができます。

于 2013-04-12T23:45:50.267 に答える