ScrollView& amp;的布局问题表

时间:2017-05-16 15:13:12

标签: android android-layout scrollview material-design

我有一个使用ScrollView的表单。表格中有2个微调器,纵向模式中,一个旋转器离开屏幕,但在横向视图中,微调器可见。需要更改哪些设置才能使微调器不会离开屏幕? (注释 - 图像中的标签选择月份实际上应为“选择月份和年份”)

enter image description here

enter image description here

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/ScrollView01"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:textSize="20sp">
<!-- android:layout_width="wrap_content"
    android:layout_height="match_parent"
-->

    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/tableLayout1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/back"
        android:scrollbars="vertical"
        android:textSize="20sp">
        <!--Month Combo Box-->
        <TableRow
            android:id="@+id/tableRow1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:padding="20sp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Select Month & Year"
                android:textColor="#0c0b0b"
                android:textSize="20sp" />

            <Spinner
                android:id="@+id/spinner"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textColor="#0c0b0b"
                android:textSize="20sp" />

            <Spinner
                android:id="@+id/spinneryr"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textColor="#0c0b0b"
                android:textSize="20sp" />
        </TableRow>
        <!--Field1 Combo Box-->
        <TableRow
            android:id="@+id/tableRow2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="20sp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/ERYTHROCYTE"
                android:textColor="#0c0b0b"
                android:textSize="20sp" />


            <EditText
                android:id="@+id/ERYTHROCYTE"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/back"

                android:inputType="numberDecimal" />
        </TableRow>
        <!--Field2 Combo Box-->
        <TableRow
            android:id="@+id/tableRow3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="20sp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/HAEMOGLOBIN"
                android:textColor="#0c0b0b"
                android:textSize="20sp" />

            <EditText
                android:id="@+id/HAEMOGLOBIN"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/back"

                android:inputType="numberDecimal" />
        </TableRow>
        <!--Field3 Combo Box-->
        <TableRow
            android:id="@+id/tableRow4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="20sp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/PCV"
                android:textColor="#0c0b0b"
                android:textSize="20sp" />

            <EditText
                android:id="@+id/PCV"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/back"

                android:inputType="numberDecimal" />
        </TableRow>
        <!--Field4 Combo Box-->
        <TableRow
            android:id="@+id/tableRow5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="20sp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/RDW"
                android:textColor="#0c0b0b"
                android:textSize="20sp" />

            <EditText
                android:id="@+id/RDW"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/back"

                android:inputType="numberDecimal" />
        </TableRow>
        <!--Field5 Combo Box-->
        <TableRow
            android:id="@+id/tableRow6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="20sp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/MCV"
                android:textColor="#0c0b0b"
                android:textSize="20sp" />

            <EditText
                android:id="@+id/MCV"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/back"
                android:gravity="center"
                android:inputType="numberDecimal" />
        </TableRow>
        <!--Field6 Combo Box-->
        <TableRow
            android:id="@+id/tableRow7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="20sp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/MCH"
                android:textColor="#0c0b0b"
                android:textSize="20sp" />

            <EditText
                android:id="@+id/MCH"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/back"

                android:inputType="numberDecimal" />
        </TableRow>

        <!--Field7 Combo Box-->
        <TableRow
            android:id="@+id/tableRow8"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="20sp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/MCHC"
                android:textColor="#0c0b0b"
                android:textSize="20sp" />

            <EditText
                android:id="@+id/MCHC"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/back"
                android:gravity="center"
                android:inputType="numberDecimal" />
        </TableRow>
        <!--Field8 Combo Box-->
        <TableRow
            android:id="@+id/tableRow9"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="20sp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/LEUCOCYTECOUNT"
                android:textColor="#0c0b0b"
                android:textSize="20sp" />

            <EditText
                android:id="@+id/LEUCOCYTECOUNT"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/back"
                android:gravity="center"
                android:inputType="numberDecimal" />
        </TableRow>
        <!--Field9 Combo Box-->
        <TableRow
            android:id="@+id/tableRow10"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="20sp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/PLATELETS"
                android:textColor="#0c0b0b"
                android:textSize="20sp" />

            <EditText
                android:id="@+id/PLATELETS"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/back"
                android:gravity="center"
                android:inputType="numberDecimal" />
        </TableRow>
        <!--Field10 Combo Box-->
        <TableRow
            android:id="@+id/tableRow11"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="20sp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/NEUTROPHILS"
                android:textColor="#0c0b0b"
                android:textSize="20sp" />

            <EditText
                android:id="@+id/NEUTROPHILS"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/back"
                android:gravity="center"
                android:inputType="numberDecimal" />
        </TableRow>
        <!--Field11 Combo Box-->
        <TableRow
            android:id="@+id/tableRow12"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="20sp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/EOSINOPHILS"
                android:textColor="#0c0b0b"
                android:textSize="20sp" />

            <EditText
                android:id="@+id/EOSINOPHILS"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/back"
                android:gravity="center"
                android:inputType="numberDecimal" />
        </TableRow>
        <!--Field12 Combo Box-->

        <TableRow
            android:id="@+id/tableRow13"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:padding="20sp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/LYMPHOCYTES"
                android:textColor="#0c0b0b"
                android:textSize="20sp" />

            <EditText
                android:id="@+id/LYMPHOCYTES"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/back"
                android:gravity="center"
                android:inputType="numberDecimal" />
        </TableRow>
        <!-- Button :Start here-->
        <TableRow
            android:id="@+id/tableRow14"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="20sp">

            <Button
                android:id="@+id/btnAdd"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/add" />
            <Button
                android:id="@+id/btnViewAll"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/view_all" />
        </TableRow>

            <!--<Button
                android:id="@+id/btnDelete"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/delete" />

            <Button
                android:id="@+id/btnShowInfo"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/show_info" />
        </TableRow>-->

<!--        <TableRow
            android:id="@+id/tableRow15"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:padding="20sp">

            <Button
                android:id="@+id/btnModify"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/modify" />

            <Button
                android:id="@+id/btnView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/view" />




           <Button
            android:id="@+id/btnShowInfo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/show_info" >
        </TableRow-->

        <TextView
            android:id="@+id/tvValues"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:textSize="20sp" />
    </TableLayout>
</ScrollView>

2 个答案:

答案 0 :(得分:2)

  

需要更改哪些设置才能使微调器不会离开屏幕?

无。没有设置 - 它基本上是你如何制作你的布局,它根本不适合。你可以考虑为每个方向设置单独的布局文件,这样你就可以垂直放置旋转器进行纵向布局 - &gt;只需在layout-land中创建res/并在那里复制当前布局。然后编辑layout中的那个以使其更适合屏幕。就是这样。

答案 1 :(得分:0)

我正在回答我的问题。我设法通过对ScrollView进行以下更改来解决问题。改变后的TextView&amp;现在两个微调器都在同一行上可见并且对齐良好。

Code changes to ScrollView -
    1) Updating android:layout_width="fill_parent" 
    2) Updating android:layout_height="fill_parent"
    3) Adding android:fillViewport="true"
Code changes to TableLayout 
    1) Added android:layout_centerInParent="true"
    2) Added android:gravity="center"

@Marcin建议的解决方案是解决问题的另一种方式(可能是一种更通用的解决方案),但由于上述解决方案有效,我没有尝试。