0

私がまとめようとしているプロジェクトの要件の 1 つは、Navbar に似た iOS UI 機能を再現することです。

(これは Android の設計の観点からは悪いことだと認識していますが、私にできることは何もありません。)

私が何を達成しようとしているのかわからない人のために、ここで例を示します。ポイントは、TextView バーを常に中央に配置し、2 つの可変幅ボタンを左右に配置できるようにすることです。2 つのボタンのいずれかがなくなっても、タイトルは中央に配置する必要があります。

この動作は、ダミーの非表示ビューを使用して左と右の「コンポーネント」の幅を強制的に同じにすることで達成するのはそれほど難しくありません。

上記が機能しないユースケースは、タイトルが長すぎて論理的に中央に配置できない場合です (または左ボタンがありません)。望ましい動作は、タイトルがその空きスペースに拡張されることです。

どんな助けでも大歓迎です。この説明はかなり混乱を招く可能性があることを認識しています。ポイントを明確にしていただければ幸いです。

4

2 に答える 2

0
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/relativeLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:text="Button" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true"
        android:text="Button" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:layout_toRightOf="@id/button1"
        android:layout_toLeftOf="@id/button2"
        android:ellipsize="middle"
        android:text="TextView" />

</RelativeLayout>
于 2012-04-17T03:53:32.827 に答える
0

RelativeLayout を試しましたか? http://developer.android.com/reference/android/widget/RelativeLayout.html

RelativeLayout を使用すると、TextView でそのトップ バーの幅全体を埋めることができます。左右のボタンは、RelativeLayout の 2 番目のレイヤー (TextView の下) に配置されます。

于 2012-04-17T03:45:17.747 に答える