静态页脚与输入面板重叠

时间:2015-08-29 16:37:12

标签: android

我正在尝试创建一个屏幕,您的ScrollView位于顶部,而下方有TextViewButton

ScrollView包含TableLayout,其自身包含TextViewButton&{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">

问题是因为我使用的整体布局还是什么?

1 个答案:

答案 0 :(得分:1)

您应该为按钮calculateGerminative和TextView textViewCalculationResult设置固定高度,并将scrollview高度设置为动态,即

android:layout_height="0dp"
android:layout_weight="1"