0

私はこれが簡単なことだと知っています.30分ほどで私は自分自身を憎むでしょう...

画面いっぱいの静止画像で構成されるスプラッシュスクリーンがあります。したがって、レイアウトで使用するルート ビューの背景属性を設定するだけです。

画像には、「同意する」ボタンを配置する必要がある空白の領域があります。さまざまな解像度に対応するには、ディスプレイの高さの割合 (58% がスポット) を使用して配置する必要があります。

ボタンのサイズを変更し、absolutelayout (コードで y 位置を設定する) は推奨されないため、layout_weight は使用できません。

どうすればこれを達成できますか?どのビューグループが親であるかは気にしません。「空白の」ビューがスペースを埋めていても問題ありません。

コードをきれいに保つために、これを完全にレイアウト XML で行うことを目指しています...

ありがとう!

4

2 に答える 2

4

を使用できないと言っていますがlayout_weight、純粋に XML で実行したい場合は、それが唯一のオプションです。使えないと思う理由がわかりません。これを行う方法の例を次に示します。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/splash"
    android:orientation="vertical" >

   <View
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="58" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="42" >

            <!-- Place buttons here -->

    </LinearLayout>
</LinearLayout>
于 2012-04-13T15:51:34.483 に答える
0

layout_weight を使用する他の方法はありません...また、クラス全体AbsoluteLayoutが廃止されているため、使用しないようにしてください。LinearLayout指定された weight_sum が 1 の rootView としてを使用することをお勧めします。別の Space-filling LinearLayout 幅を 0.58 の重みで追加し、wrap_content 属性を使用して Button の下に追加します。残念ながら、あなたが達成しようとしていることを見ることができるように、あなたのxmlを投稿しない限り、私はあなたにこれ以上話すことはできません. これはうまくいくはずです:

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/your_desired_background"
    android:orientation="vertical" 
    android:weight_sum="1">
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight=".58" />
    <Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
</LinearLayout>
于 2012-04-13T15:58:47.770 に答える