我尝试在android layout.xml文件中创建2行按钮。 第一行是左对齐的,第二行是中心对齐的。
这是我的所作所为,但我最终得到了一排按钮。你能告诉我我做错了什么吗?
enter code here
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="bottom|left"
>
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="bottom|center"
>
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
</FrameLayout>
</pre>
答案 0 :(得分:5)
此任务的FrameLayout错误。 像这样使用LinearLayout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:orientation="vertical"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="bottom|left"
>
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="bottom|center"
>
<Button
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
</LinearLayout>
有关FrameLayout的说明,请访问:http://developer.android.com/reference/android/widget/FrameLayout.html
答案 1 :(得分:2)
我建议不要像这样嵌套LinearLayouts。它效率低下,效率低下,阻碍了Android布局在某些情况下和UI更改中的扩展能力。
此外,它非常耗费CPU!不要这样做并阅读:
http://developer.android.com/training/improving-layouts/optimizing-layout.html
答案 2 :(得分:2)
您可以使用Tablelayout以行的形式显示按钮。
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/root"
android:stretchColumns="*"
android:background="#000000">
<TableRow android:layout_margin="0dip"
android:id="@+id/first_row">
<Button android:id="@+id/button01"
android:layout_width="0dip"
android:layout_weight="1"
android:padding="15dip" />
<Button android:id="@+id/button02"
android:layout_width="0dip"
android:layout_weight="1"
android:padding="15dip" />
<Button android:id="@+id/button03"
android:layout_width="0dip"
android:layout_weight="1"
android:padding="15dip" />
<Button android:id="@+id/button04"
android:layout_width="0dip"
android:layout_weight="1"
android:padding="15dip" />
<Button android:id="@+id/button05"
android:layout_width="0dip"
android:layout_weight="1"
android:padding="15dip" />
</TableRow>
</TableLayout>
答案 3 :(得分:0)
您也可以只使用一个RelativeLayout而不是所有布局。我已经阅读了很多关于RelativeLayout比LinearLayout使用更少资源的报告。