如何以纵向设置/缩小表格行大小?

时间:2017-07-14 04:18:51

标签: android android-layout android-tablelayout tablerow

如何以纵向设置表格行宽和大小?我更喜欢它在风景视图中的样子。有没有办法让我缩小"组件"以纵向表格并增加"标记"," demerit"和"笔记"? 我尝试调整layout_weightlayout_widthlayout_size,但不知怎的,我再也看不到表头​​了。

Lanscape View Lanscape View

纵向视图 Portrait View

我想以肖像方式实现 enter image description here

FragmentA.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
         xmlns:app="http://schemas.android.com/apk/res-auto"
         xmlns:tools="http://schemas.android.com/tools"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         tools:context="layout.fragmentA">


<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="50dp"
    android:background="@color/btn_textcolor"
    android:orientation="vertical">

    <TextView
        android:id="@+id/cur_marks"
        style="@style/marks"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="right"
        android:text="Markah:   / 18"/>

</LinearLayout>

<TableLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="90dp"
    android:shrinkColumns="*"
    android:stretchColumns="*">

    <!--Table header-->
    <TableRow
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <TextView
            android:id="@+id/th_component"
            style="@style/table_header"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center"
            android:text="Component"/>

        <TextView
            android:id="@+id/th_marks"
            style="@style/table_header"
            android:gravity="center"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Marks"/>

        <TextView
            android:id="@+id/th_demerits"
            style="@style/table_header"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/tableH_demerit"/>

        <TextView
            android:id="@+id/th_notes"
            style="@style/table_header"
            android:gravity="center"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Notes"/>
    </TableRow>

    <!--Component A1-->

    <TableRow
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal">

        <TextView
            android:id="@+id/tv_cA1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:padding="@dimen/text_padding"
            android:text="@string/cB1"/>

        <TextView
            android:id="@+id/tv_mA1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/_12"
            android:layout_weight="1"
            android:gravity="center"/>

        <CheckBox
            android:id="@+id/checkBox_a1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:visibility="visible"/>

        <Button
            android:id="@+id/btn_a1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/catatan"/>
    </TableRow>
</TableLayout>

的strings.xml

<resources>
<string name="app_name">hellowWorld</string>
<string name="title_case_detail">Case Detail</string>
<string name="cB1">Kawalan suhu dan tempat mempamerkan makanan yang sesuai mengikut keadaan
    dan jenis makanan: \n
    - Suhu makanan panas: > 60 °C \n
    - Suhu makanan dingin: 1 °C hingga 4 °C \n
    - Suhu makanan sejuk beku: <= -18 °C
</string>

如果它看起来像横向视图中的那个,那将会非常有用。

1 个答案:

答案 0 :(得分:0)

如果你将weight_sum赋予TableRow并将权重平均分配给孩子,那么它将正常工作

  

注意:对于子项,我们应该提供android:layout_width="0dp"

试试这个,

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="50dp"
    android:background="#555"
    android:orientation="vertical">

    <TextView
        android:id="@+id/cur_marks"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="right"
        android:text="Markah:   / 18"/>

</LinearLayout>

<TableLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="90dp"
    android:background="#fff"
    android:shrinkColumns="*"
    android:stretchColumns="*">

    <!--Table header-->
    <TableRow
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:weightSum="5">

        <TextView
            android:id="@+id/th_component"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:gravity="center"
            android:text="Component"/>

        <TextView
            android:id="@+id/th_marks"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center"
            android:text="Marks"/>

        <TextView
            android:id="@+id/th_demerits"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="tableH_demerit"/>

        <TextView
            android:id="@+id/th_notes"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center"
            android:text="Notes"/>
    </TableRow>

    <!--Component A1-->
    <TableRow
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:weightSum="5">

        <TextView
            android:id="@+id/tv_cA1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:text="@string/cB1"/>

        <TextView
            android:id="@+id/tv_mA1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:layout_weight="1"
            android:text="_12"/>

        <CheckBox
            android:id="@+id/checkBox_a1"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:visibility="visible"/>

        <Button
            android:id="@+id/btn_a1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="center"
            android:text="catatan"/>
    </TableRow>

</TableLayout>