键盘出现时,Scrollview不会滚动

时间:2014-12-04 16:29:41

标签: android scrollview android-softkeyboard android-input-method

我的RelativeLayout中有一些EditTexts,并在其底部对齐了一个按钮。当键盘弹出时,我希望我的布局调整大小(因此,我使用的是android:windowSoftInputMode =“adjustResize”)并且还希望它可以滚动,因为在较小的屏幕中调整大小是不够的。

问题是我根本无法滚动它!

我确实需要按钮停留在屏幕的底部。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#FFF">

    <!-- some hidden RelativeLayouts, filling the whole screen -->

<RelativeLayout
        android:id="@+id/form_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    <ScrollView
        android:layout_width="match_parent" android:layout_height="match_parent"
            android:fillViewport="true" android:layout_above="@+id/ok_btn">

        <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent" android:background="#99000000" android:visibility="visible">

            <View
            android:id="@+id/shade"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" android:layout_alignTop="@+id/logradouro1"
            android:background="#FFF" android:layout_marginTop="-30dp"/>

            <!-- some visible EditTexts and TextViews here -->

        </RelativeLayout>

    </ScrollView>

    <Button android:id="@+id/ok_btn"
            android:layout_width="match_parent"
            android:layout_height="50dp" android:background="@color/verdeBotao" android:text="Cadastrar"
            android:textColor="#FFF" android:layout_alignParentBottom="true"/>

</RelativeLayout>


</RelativeLayout>

以下是2个屏幕截图,用于说明正在发生的事情。请注意,键盘启动时无法滚动。 谢谢!

enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

我发布的内容类似于你的ui。在底部的按钮上取一个RelativeLayout。将重力设置为底部,按钮视图应 android:layout_alignParentBottom =&#34; true &#34;

<ScrollView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/m_table_menu" >

        <LinearLayout
            android:id="@+id/layuserdetails"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="8dp"
            android:orientation="horizontal"
            android:padding="5dp" >

            Yourviewss......i guess edittexts 

        </LinearLayout>
    </ScrollView>

//可滚动按钮布局

 <RelativeLayout
        android:id="@+id/m_table_menu"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="bottom"
        android:padding="0dp" >

        <LinearLayout
            android:id="@+id/laysharepost"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:gravity="bottom"
            android:orientation="vertical"
            android:padding="5dp" >

//replace textview with buttonview.. 
            <TextView
                android:id="@+id/share_tvcommentdone"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:background="@drawable/button_selector"
                android:padding="10dp"
                android:text="POST"
                android:textColor="@android:color/white" />
        </LinearLayout>
    </RelativeLayout>