Reputation: 1854
Here's my issue, I have a TableLayout
that has multiple TableRows
.
I want them in a table for making the right alignment, but I wanted that one of the TableRow's
inside the TableLayout
was independent of all of the sizes and was independent and the TextView
inside was centered.
This is my code:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.catarinaferreira.tripmanager.reservation_payment">
<!-- TODO: Update blank fragment layout -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/layout_title_total"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:background="?attr/colorControlHighlight"
android:gravity="right"
android:orientation="horizontal">
<TextView
android:id="@+id/textView15"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@color/laranja_logo"
android:text="Pagamento"
android:textColor="@color/white"
android:textSize="26dp"
android:textStyle="normal|bold" />
</LinearLayout>
<Space
android:layout_width="match_parent"
android:layout_height="10dp" />
<TextView
android:id="@+id/textView26"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="casual"
android:text="Resumo Reserva"
android:textColor="@android:color/black"
android:textSize="24sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="5dp"
android:background="@android:color/black"
android:orientation="vertical"></LinearLayout>
<Space
android:layout_width="match_parent"
android:layout_height="5dp" />
<LinearLayout
android:id="@+id/total_going_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TableLayout
android:id="@+id/total_going_table"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="@android:color/darker_gray"
android:showDividers="middle">
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#f1f1f1"
android:paddingBottom="10dp"
android:paddingTop="5dp">
<TextView
android:id="@+id/textView28"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:text="Qtd"
android:textColor="@android:color/black"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView29"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="15dp"
android:fontFamily="sans-serif"
android:text="Descrição"
android:textColor="@android:color/black"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView30"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:text="Preço(€)"
android:textColor="@android:color/black"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView31"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:text="Total(€)"
android:textColor="@android:color/black"
android:textSize="18sp"
android:textStyle="bold" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/holo_blue_light"
android:gravity="center">
<TextView
android:id="@+id/textView32"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Ida"
android:textAlignment="textStart"
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textSize="18sp"
android:textStyle="bold" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/textView35"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1"
android:textColor="@android:color/black"
android:textSize="18sp" />
<TextView
android:id="@+id/textView41"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Adulto"
android:textColor="@android:color/black"
android:textSize="18sp" />
<TextView
android:id="@+id/textView42"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="20€"
android:textColor="@android:color/black"
android:textSize="18sp" />
<TextView
android:id="@+id/textView43"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="20€"
android:textColor="@android:color/black"
android:textSize="18sp" />
</TableRow>
</TableLayout>
</LinearLayout>
</LinearLayout>
Then I show you images of my problem. I want the TextView
in the TableRow
with blue backgound to be centered like this:
But if the TextView
has more characters, the "Qtd" column will be affected like this with a big space:
How can I do this for the size of the TextView
text doesn't affect the first column?
Thanks for the help!!
Upvotes: 1
Views: 100
Reputation: 796
Try to change TableRow with this:
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="1"
android:background="@android:color/holo_blue_light">
<TextView
android:id="@+id/textView32"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Regresso"
android:layout_weight="1"
android:gravity="center"
android:textAllCaps="false"
android:textColor="@android:color/white"
android:textSize="18sp"
android:textStyle="bold" />
</TableRow>
Upvotes: 4