1

これは、私が取り組んでいるおもちゃのプロジェクトの現在のメイン画面です (.xml が続きます)。

メインスクリーン

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

   <TextView
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:text="@string/welcome"
        android:gravity="center"
        android:layout_weight="3" />

   <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="0dip"
        android:orientation="vertical"
        android:layout_gravity="center"
        android:layout_weight="2" > 

       <Button
           android:id="@+id/resume_button"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:text="@string/resume" />

       <Button
           android:id="@+id/newgame_button"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:text="@string/new_game" />

       <Button
           android:id="@+id/quit_button"
           android:layout_width="fill_parent"
           android:layout_height="wrap_content"
           android:text="@string/quit" />
    </LinearLayout>

</LinearLayout>

思い通りのレイアウトができましたが、うまくいきましたか?この結果を得るためのより良い方法はありますか?

次に、元の画面を次のように変換したいとします。 main_transformed_1

LEFT重力 ( ) とパディングによる配置の組み合わせでこれを行う良い方法はありますか?

前もって感謝します。

4

1 に答える 1

1

LinearLayoutこれらのボタンを囲む冗長を削除できます

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="0dip"
    android:orientation="vertical"
    android:layout_gravity="center"
    android:layout_weight="2" > 

   <Button
       android:id="@+id/resume_button"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:text="@string/resume" />

   <Button
       android:id="@+id/newgame_button"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:text="@string/new_game" />

   <Button
       android:id="@+id/quit_button"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:text="@string/quit" />
</LinearLayout>

で各ボタンを設定しますandroid:layout_weight="1"。親の linearlayout をandroid:layout_weight="4"に設定して、ほぼ同じウェイトに戻すこともできます。

于 2013-06-09T17:55:04.497 に答える