Android Table Layout Alignment
I am using Table Layout to display data as shown below. What i want to do ? I want the Text in the second column to be aligned to the left and the text should wrap and be displaye
Solution 1:
Since a TableRow
is pretty much a horizontally oriented LinearLayout
, simply use the principles of weights to make the TextView
fill up all the space after the ImageView
. It means you'd have to change the rows to somewhat like this:
<!-- no need to set width/height as those are implicitly enforced --><TableRowandroid:id="@+id/tableRow2"android:paddingBottom="10dp" ><ImageViewandroid:id="@+id/place_category_icon"android:layout_width="wrap_content"android:layout_height="wrap_content"android:contentDescription="ss"android:paddingRight="10dp"android:src="@drawable/icon_category" /><!-- width of '0' and weight of '1' will make this view fill up all remaining space --><TextViewandroid:id="@+id/textView2"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_weight="1"android:layout_gravity="center_vertical"android:text="230 kms"android:textSize="16sp" /></TableRow>
I've also removed/changed some superfluous attributes. Do mind that I just typed this directly in the browser - there may be the odd typo or tweak required.
Solution 2:
The easiest way I can think of is to wrap each TableRow
content with a LinearLayout
like this:
<TableLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/tableLayout1"android:layout_width="match_parent"android:layout_height="match_parent" ><TableRowandroid:id="@+id/tableRow2"android:layout_width="match_parent"android:layout_height="wrap_content"android:paddingBottom="10dp" ><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="match_parent" ><ImageViewandroid:id="@+id/place_category_icon"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerVertical="true"android:contentDescription="ss"android:paddingRight="10dp"android:src="@drawable/ic_launcher" /><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerVertical="true"android:layout_gravity="center"android:text="230 kms"android:textSize="16sp" ></TextView></LinearLayout></TableRow><TableRowandroid:id="@+id/tableRow2"android:layout_width="match_parent"android:layout_height="wrap_content"android:paddingBottom="10dp" ><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="match_parent" ><ImageViewandroid:id="@+id/place_category_icon"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerVertical="true"android:contentDescription="ss"android:paddingRight="10dp"android:src="@drawable/ic_launcher" /><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerVertical="true"android:layout_gravity="center"android:text="Hill Station, Wild Life"android:textSize="16sp" ></TextView></LinearLayout></TableRow><TableRowandroid:id="@+id/tableRow2"android:layout_width="match_parent"android:layout_height="wrap_content"android:paddingBottom="10dp" ><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="match_parent" ><ImageViewandroid:id="@+id/place_category_icon"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerVertical="true"android:contentDescription="ss"android:paddingRight="10dp"android:src="@drawable/ic_launcher" /><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerVertical="true"android:layout_gravity="center"android:text="Summer 23-40°C, Winter 10-32°C"android:textSize="16sp" ></TextView></LinearLayout></TableRow><TableRowandroid:id="@+id/tableRow2"android:layout_width="match_parent"android:layout_height="wrap_content"android:paddingBottom="10dp" ><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="match_parent" ><ImageViewandroid:id="@+id/place_category_icon"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerVertical="true"android:contentDescription="ss"android:paddingRight="10dp"android:src="@drawable/ic_launcher" /><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerVertical="true"android:layout_gravity="center"android:text="Tippus Drop, Tippus Summer Residence, Brahmashram, Cycling, Paragliding"android:textSize="16sp" ></TextView></LinearLayout></TableRow></TableLayout>
And this is the result:
Hope I correctly understood your requirements.
Solution 3:
My guess - change the layout_width and get rid of the gravity:
<TextViewandroid:id="@+id/textView2"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_centerVertical="true"...
></TextView>
Post a Comment for "Android Table Layout Alignment"