我正在尝试创建一个屏幕,您的ScrollView
位于顶部,而下方有TextView
和Button
。
ScrollView
包含TableLayout
,其自身包含TextView
,Button
&{39}和EditText
&#39 ; S
我想要实现的是,当EditText
是focues并且输入面板在手机上打开时,buttom页脚将移动到面板顶部并且滚动区域调整为较小,以便您可以随时点击计算按钮。
这是我当前的xml:
活动:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include layout="@layout/activity_germinative_scroll"/>
<TextView
android:id="@+id/textViewCalculationResult"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight=".70"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:gravity="center"
android:text="0.00 KG/HA"
android:textSize="35sp"/>
<Button
android:id="@+id/calculateGerminative"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight=".30"
android:text="@string/calculate_germinative"
android:textSize="25sp"
android:textAllCaps="true"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_marginBottom="10dp"
android:background="@drawable/menu_button_states"
android:nextFocusDown="@id/editSeedMass"/>
</LinearLayout>
滚动活动:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:orientation="vertical"
android:showDividers="beginning|end"
>
<TableLayout
android:id="@+id/tableLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:padding="10dip"
>
<TableRow
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<TextView
android:id="@+id/teraMass"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".40"
android:textSize="20sp"
android:editable="false"
android:text="@string/seed_mass_text"
android:textAllCaps="true"/>
<Space
android:layout_width="13dp"/>
<Button
android:id="@+id/seedMassInfo"
android:tag="seedMassInfo"
android:layout_width="30dp"
android:layout_height="30dp"
android:background="@drawable/info"/>
</TableRow>
<Space
android:layout_height="3dp"/>
... Many other TableRow's with the exact same layout...
</TableLayout>
</ScrollView>
所以现在发生的事情是,当我专注于滚动区域中的一个输入字段时,底部的按钮会调整为一个非常薄的小按钮,并根据屏幕大小调整文本字段。页脚也会调整大小。
我将此设置用于清单中的活动:
android:windowSoftInputMode="stateHidden|adjustResize">
问题是因为我使用的整体布局还是什么?
答案 0 :(得分:1)
您应该为按钮calculateGerminative
和TextView textViewCalculationResult
设置固定高度,并将scrollview高度设置为动态,即
android:layout_height="0dp"
android:layout_weight="1"