I try to create 2 rows of buttons in android layout.xml file. The first row is left-aligned, the second row is center-aligned.
Here is what I did, but I end up getting 1 row of buttons. Can you please tell me what am I doing wrong?
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>
I would recommend against nesting LinearLayouts like that. It's not productive, very inefficient and hinders the ability of Android layouts to expand in some cases and UI changes.
And besides, it's very CPU intensive! Don't do it and read this:
http://developer.android.com/training/improving-layouts/optimizing-layout.html
You could also use just one RelativeLayout instead of all of your layouts. I've read many reports that RelativeLayout uses less resources than LinearLayout.
You can use Tablelayout for displaying button in the form of rows.
FrameLayout is wrong for this task. Use LinearLayout like this:
for explanation on what FrameLayout is for go here: http://developer.android.com/reference/android/widget/FrameLayout.html