Android:使TableRow独立于TableLayout

时间:2017-04-07 09:30:46

标签: java android android-studio

这是我的问题,我的TableLayout有多个TableRows

我希望他们在表格中进行正确的对齐,但我希望TableRow's中的TableLayout之一独立于所有尺寸并且是独立的{{1}内心居中。

这是我的代码:

TextView

然后我告诉你我的问题的图像。我希望带有蓝色背景的<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> 中的TextView像这样居中:

enter image description here

但如果TableRow有更多字符,那么“Qtd”列会像这样受到影响,空间很大:

enter image description here

如何根据TextView文字的大小执行此操作不会影响第一列?

感谢您的帮助!!

1 个答案:

答案 0 :(得分:4)

尝试使用以下方法更改TableRow:

                 <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>