键盘可见时滚动内容

时间:2016-11-29 20:29:58

标签: android android-scrollview

我的应用程序中有一个登录表单(只有一个EditText用于发送电子邮件,另一个用于密码,在其下面是一个按钮)并且因为键盘在焦点位于电子邮件时隐藏密码,我希望用户成为能够用手指滚动,而不是单击键盘上的动作下一步按钮。

所以我决定添加一个ScrollView,因为我希望内容与底部对齐,我添加了LinearLayout作为ScrollView的父级,并添加了重心底部Scrollview

布局的xml代码是:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@color/white"
android:layout_width="match_parent" android:layout_height="match_parent">

<ScrollView
    android:layout_gravity="bottom"
    android:fillViewport="true"
    android:layout_width="match_parent" android:layout_height="wrap_content">

        <EditText
            android:id="@+id/et_name" android:textSize="@dimen/app_text_size_medium" android:textColorHint="@color/white"
            android:hint="Enter email" android:inputType="text"
            android:paddingTop="8dp"
            android:imeOptions="actionNext" android:maxLines="1"
            android:textColor="@color/white" android:alpha="0.5"
            android:background="@android:color/transparent"
            android:layout_width="match_parent" android:layout_height="wrap_content" />

        <EditText
            android:id="@+id/et_password" android:textSize="@dimen/app_text_size_medium"
            android:hint="@string/sign_in_password_hint" android:inputType="textPassword" android:textColorHint="@color/white"
            android:textColor="@android:color/white" android:alpha="0.5"
            android:background="@android:color/transparent"
            android:imeOptions="actionDone" android:maxLines="1"
            android:layout_weight="4"
            android:layout_width="0dp" android:layout_height="wrap_content" />

        <Button
            android:id="@+id/btn_signin_submit"
            android:text="@string/sign_in_button" android:textColor="@color/white" android:textSize="@dimen/app_text_size_normal"
            android:textAllCaps="false"
            android:background="@drawable/selector_btn_sign_in"
            android:layout_marginLeft="@dimen/spacing_large_app" android:layout_marginRight="@dimen/spacing_large_app"
            android:layout_width="match_parent" android:layout_height="wrap_content" />


    </LinearLayout>

</ScrollView>

问题在于,当一个edittext获得焦点时,它的布局只会闪现&#34;键盘和滚动上方的所有内容都不起作用。

有关如何启用平滑滚动的任何帮助?

2 个答案:

答案 0 :(得分:0)

您不需要使用滚动视图。您只需在主要活动标签中的mainfest文件中添加此行。 的机器人:windowSoftInputMode =&#34; adjustPan

答案 1 :(得分:0)

将ScrollView中的所有子项包装到另一个LinearLayout中。