我应该选择哪种布局?

Posted

技术标签:

【中文标题】我应该选择哪种布局?【英文标题】:Which layout should I select? 【发布时间】:2012-01-25 00:44:44 【问题描述】:

我在久违的 android 上回来了,结果我几乎忘记了一切。

我想构建一个这样的用户界面:

按钮 Item1 和 Item2 触发移动到另一个页面,而“执行操作”按钮执行原地操作。并且广告应该停靠在屏幕底部。

我应该选择什么布局来实现这个 UI? 我的目标是 Android 2.2(如果重要的话)。

【问题讨论】:

@Dr.nik 我试过表格布局,但不切实际。 根据 rahul 请尝试使用相对布局 【参考方案1】:

我相信使用相对布局会有所帮助。可能这会有所帮助,尽管您可能想稍微重新调整一下。

<?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/relativeLayout1"
        android:layout_
        android:layout_ >

        <Button
            android:id="@+id/button1"
            android:layout_
            android:layout_
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="42dp"
            android:text="@string/item1" />

        <Button
            android:id="@+id/button2"
            android:layout_
            android:layout_
            android:layout_alignLeft="@+id/button1"
            android:layout_below="@+id/button1"
            android:layout_marginTop="48dp"
            android:text="@string/item2" />

        <Button
            android:id="@+id/button4"
            android:layout_
            android:layout_
            android:layout_alignParentBottom="true"
            android:text="@string/ad_goes_here" />

        <Button
            android:id="@+id/button3"
            android:layout_
            android:layout_
            android:layout_below="@+id/button2"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="62dp"
            android:text="@string/perform_action" />

    </RelativeLayout>

【讨论】:

+1 表示准确捕获,但请详细说明您的回答,因为他自己提到他忘记了一切 @AngryHacker:我在该广告的位置插入了按钮。您可以随时使用适合您广告的确切描述对其进行更改。 @Rahul 这正是我所需要的。谢谢。【参考方案2】:
I think using Linear Layout is best


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

<Button
 android:id="@+id/btn1"
 android:text="Item1"
 android:layout_
 android:layout_ android:layout_gravity="center"
 />

<Button
 android:id="@+id/btn2"
 android:text="Item2"
 android:layout_
 android:layout_ android:layout_gravity="center"
 />
<Button
 android:id="@+id/btn3"
 android:text="Perform Action"
 android:layout_
 android:layout_ android:layout_gravity="center"
 />

<Button
 android:id="@+id/btn4"
 android:text="Ad Goes here"
 android:layout_
 android:layout_ android:layout_gravity="center"
 />

</LinearLayout>

【讨论】:

【参考方案3】:

您可以将LinearLayoutandroid:orientation="vertical" 一起使用。但是,还有许多其他布局可以实现您想要的 UI。我更喜欢坚持使用LinearLayout,因为我可以将其设置为垂直或水平。

【讨论】:

如何确保广告停靠在底部? 例如,如果您需要将项目停靠在底部,那么像 Rahul 所说的相对布局会有所帮助。你可以使用android:layout_alignParentBottom。看看这个问题 - ***.com/questions/2386866/…【参考方案4】:

您可以在此布局中继续使用相对布局,您需要使用列表视图(简单)并在列表视图下方拖动按钮。并在底部放置您的广告 sdk 区域

For more detail....

【讨论】:

以上是关于我应该选择哪种布局?的主要内容,如果未能解决你的问题,请参考以下文章

您推荐哪种 Swing 布局? [关闭]

Galaxy Tab 应该支持哪些 android 布局和可绘制资源进行开发?

移动端布局使用哪种单位比较好?

对于每行有两个卡片单元的 UI,哪种布局更好?

元素居中之Flex布局

UILabel sizeToFit 不适用于自动布局 ios6