以下是我正在处理的玩具项目的当前主屏幕(.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>
我得到了我想要的布局,但我是否以一种好的方式解决了这个问题?有没有更好的方法来获得这个结果?
其次,说我想将原始屏幕转换为:
使用重力(LEFT
)和填充的对齐组合是一种很好的方法吗?
提前致谢。
答案 0 :(得分: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"
设置每个按钮。您还可以将父线性布局设置为android:layout_weight="4"
以获得大约相同的权重。