Reputation: 20648
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/homeTableLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TableRow
android:id="@+id/homeFirstRow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dip" >
<LinearLayout
android:id="@+id/navigationLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:layout_marginLeft="10dp"
android:background="#669cb7"
android:orientation="horizontal" >
<Button
android:id="@+id/btnCall"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:text="@string/btn_call_text"
android:textSize="15sp" />
<Button
android:id="@+id/btnPicture"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:text="@string/btn_take_pictures_text"
android:textSize="15sp" />
<Button
android:id="@+id/btnNavigate"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:text="@string/btn_navigate_text"
android:textSize="15sp" />
<Button
android:id="@+id/btnedo"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:text="@string/btn_pod_text"
android:textSize="15sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/distanceLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:background="#FFC58F"
android:gravity="center"
android:orientation="horizontal" >
<TextView
android:id="@+id/tv"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="SOURCE TO DESTINATION COMES HERE" />
<TextView
android:id="@+id/txtFrom"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="" />
<TextView
android:id="@+id/txtTo"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="" />
<TextView
android:id="@+id/txtETA"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="" />
<TextView
android:id="@+id/txtDistance"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="" />
</LinearLayout>
<LinearLayout
android:id="@+id/expandingLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:layout_marginLeft="10dp"
android:background="#FFC58F"
android:orientation="horizontal" >
<Button
android:id="@+id/btnLanguage"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:text="@string/btn_language_text"
android:textSize="15sp" />
<Button
android:id="@+id/btnImages"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:text="@string/btn_image_text"
android:textSize="15sp" />
<Button
android:id="@+id/btnMessages"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:text="@string/btn_job_text"
android:textSize="15sp" />
<Button
android:id="@+id/btnAlerts"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:text="@string/btn_alert_text"
android:textSize="15sp" />
<Button
android:id="@+id/btnlogout"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:text="@string/btn_logout_text"
android:textSize="15sp" />
</LinearLayout>
</TableRow>
Hi Above is my implementation for a home screen and and I want to left align the first Linear layout , center align the second layout and right align the last lay out.Any one knows how to do it?
Upvotes: 0
Views: 1757
Reputation: 871
By default, if all the children inside the TableRow can be drawn within the bounds of the screen, then the TableView will assign equal area to each of the LinearLayout children and they will automatically be left-aligned, centered and right-aligned.
In your case, each of the LinearLayouts have 4 or more views with some text which is difficult to get fitted within the screen bounds. The TableLayout will thus only draw whatever fits the screen starting from first child.
You can also use RelativeLayout but inner LinearLayouts may overlap if you will try to position them exactly on left, Centre and Right respectively.
<LinearLayout android:orientation=horizontal
android:weightSum=3 >
<LinearLayout android:layout_width=0dp
android:layout_weight=1
android:layout_gravity=left >
<LinearLayout android:layout_width=0dp
android:layout_weight=1
android:layout_gravity=center >
<LinearLayout android:layout_width=0dp
android:layout_weight=1
android:layout_gravity=right >
</LinearLayout>
Upvotes: 2
Reputation: 10959
try using weightsum and orientation to achieve what you want.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/homeTableLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="10"
android:orientation="horizontal"
>
<LinearLayout
android:id="@+id/navigationLayout"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_gravity="left"
android:background="#669cb7"
android:orientation="vertical"
android:layout_weight="3.3"
>
<Button
android:id="@+id/btnCall"
android:layout_width="fill_parent"
android:layout_height="45dp"
android:text="btn_call_text"
android:textSize="15sp" />
<Button
android:id="@+id/btnPicture"
android:layout_width="fill_parent"
android:layout_height="45dp"
android:text="btn_take_pictures_text"
android:textSize="15sp" />
<Button
android:id="@+id/btnNavigate"
android:layout_width="fill_parent"
android:layout_height="45dp"
android:text="btn_navigate_text"
android:textSize="15sp" />
<Button
android:id="@+id/btnedo"
android:layout_width="fill_parent"
android:layout_height="45dp"
android:text="btn_pod_text"
android:textSize="15sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/distanceLayout"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:background="#FFC58F"
android:gravity="center"
android:orientation="vertical"
android:layout_weight="3.3"
>
<TextView
android:id="@+id/tv"
android:layout_width="fill_parent"
android:layout_height="45dp"
android:text="SOURCE TO DESTINATION COMES HERE" />
<TextView
android:id="@+id/txtFrom"
android:layout_width="fill_parent"
android:layout_height="45dp"
android:text="" />
<TextView
android:id="@+id/txtTo"
android:layout_width="fill_parent"
android:layout_height="45dp"
android:text="" />
<TextView
android:id="@+id/txtETA"
android:layout_width="fill_parent"
android:layout_height="45dp"
android:text="" />
<TextView
android:id="@+id/txtDistance"
android:layout_width="fill_parent"
android:layout_height="45dp"
android:text="" />
</LinearLayout>
<LinearLayout
android:id="@+id/expandingLayout"
android:layout_width="0dip"
android:layout_height="fill_parent"
android:layout_gravity="right"
android:background="#FFC58F"
android:orientation="vertical"
android:layout_weight="3.4"
>
<Button
android:id="@+id/btnLanguage"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:text="btn_language_text"
android:textSize="15sp" />
<Button
android:id="@+id/btnImages"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:text="btn_image_text"
android:textSize="15sp" />
<Button
android:id="@+id/btnMessages"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:text="btn_job_text"
android:textSize="15sp" />
<Button
android:id="@+id/btnAlerts"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:text="btn_alert_text"
android:textSize="15sp" />
<Button
android:id="@+id/btnlogout"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:text="btn_logout_text"
android:textSize="15sp" />
</LinearLayout>
</LinearLayout>
the result will something like this:
Upvotes: 0
Reputation: 4427
<RelativeLayout> <LinearLayout android:layout_alignParentLeft="true"> <LinearLayout android:layout_toRightOf="@id/linear1> <LinearLayout android:layout_toRightOf="@id/linear2 android:layout_alignParentRight="true"> <RelativeLayout>
Upvotes: 0