我有一个使用ScrollView的表单。表格中有2个微调器,纵向模式中,一个旋转器离开屏幕,但在横向视图中,微调器可见。需要更改哪些设置才能使微调器不会离开屏幕? (注释 - 图像中的标签选择月份实际上应为“选择月份和年份”)
<?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>
答案 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建议的解决方案是解决问题的另一种方式(可能是一种更通用的解决方案),但由于上述解决方案有效,我没有尝试。