在android用户界面上试验xmls。想知道是否有';It’这是完成我任务的更好方法

在android用户界面上试验xmls。想知道是否有';It’这是完成我任务的更好方法,android,android-layout,Android,Android Layout,下面是我正在处理的玩具项目的当前主屏幕(.xml如下所示): 我得到了我想要的布局,但我做得好吗?有没有更好的方法获得这个结果 其次,假设我想将我的原始屏幕转换为: 通过重力(LEFT)和衬垫组合对齐是一种很好的方法吗 提前感谢。您可以删除包含这些按钮的冗余线性布局 <LinearLayout android:layout_width="wrap_content" android:layout_height="0dip" android:orientatio

下面是我正在处理的玩具项目的当前主屏幕(.xml如下所示):


我得到了我想要的布局,但我做得好吗?有没有更好的方法获得这个结果

其次,假设我想将我的原始屏幕转换为:

通过重力(
LEFT
)和衬垫组合对齐是一种很好的方法吗


提前感谢。

您可以删除包含这些按钮的冗余
线性布局

<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\u weight=“1”设置每个按钮。您还可以将父linearlayout设置为android:layout_weight=“4”,以获得大致相同的权重。

您可以删除包含这些按钮的冗余的
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\u weight=“1”设置每个按钮。您还可以将parent linearlayout设置为android:layout_weight=“4”,以获得大致相同的权重。

对于我问题的第一部分,我想知道的是:将权重与线性布局/重力选项结合使用是获得此布局的一种好方法吗。其他模式会更好吗?我想,你自己已经回答了这个问题,它是否有效;你没有用权重划分视图吗?只对(a)使用一个LL,并使用左对齐来buttons@FAST,仅仅因为它有效,并不意味着它是一个好的方法。使用LL两次并不是一个好的解决方案,因为它可以很容易地由单个LL存档,对于我问题的第一部分,我想知道的一部分是:将权重与线性布局/重力选项结合使用是否是获得此布局的好方法。其他模式会更好吗?我想,你自己已经回答了这个问题,它是否有效;你没有用权重划分视图吗?只对(a)使用一个LL,并使用左对齐来buttons@FAST,仅仅因为它有效,并不意味着它是一个好方法。使用LL两次并不是一个好的解决方案,因为它可以很容易地由单个LL存档,是的,删除冗余布局是一个好主意,但它实际上添加了相当多的代码以获得正确的定位(还有一个问题我不知道如何解决,请参见最后一句)。请记住,我希望文本视图与按钮总面积的比例为3:2,并希望内容居中。我还希望每个按钮大小相同;如果不将它们组合在一起,我怎么能做到这一点呢?仔细想想,如果您希望这些按钮的大小完全相同,那么封闭的线性布局就没有那么多冗余,因为它将最大的按钮的宽度包裹起来,其所有子按钮都将跟随。我认为没有其他更好的方法可以做到这一点。如果有大量相同类型的视图,那么使用其他布局是一个更好的主意,在这里,它们是三个按钮,您可能希望以不同的方式设置每个按钮的属性,并在代码中以不同的方式处理它们。是的,删除冗余布局是一个好主意,但它实际上添加了相当多的代码以获得正确的定位(还有一个问题我不知道如何解决,请参见最后一句)。请记住,我希望文本视图与按钮总面积的比例为3:2,并希望内容居中。我还希望每个按钮大小相同;如果不将它们组合在一起,我怎么能做到这一点呢?仔细想想,如果您希望这些按钮的大小完全相同,那么封闭的线性布局就没有那么多冗余,因为它将最大的按钮的宽度包裹起来,其所有子按钮都将跟随。我认为没有其他更好的方法可以做到这一点。如果有大量相同类型的视图,那么使用其他布局是一个更好的主意,在这里,它们是三个按钮,您可能希望以不同的方式设置每个按钮的属性,并在代码中以不同的方式处理它们。