尝试用于Android UI的xmls。想知道是否有更好的方法来完成我的任务

时间:2013-06-09 17:43:55

标签: android android-layout

以下是我正在处理的玩具项目的当前主屏幕(.xml跟随):

main_screen

<?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)和填充的对齐组合是一种很好的方法吗?

提前致谢。

1 个答案:

答案 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"以获得大约相同的权重。