当窗口具有FLAG_TRANSLUCENT_STATUS时,键盘不会向上移动ScrollView

时间:2016-09-07 08:49:25

标签: android keyboard scrollview statusbar

我已经制作了样本布局 - 只是一个包含许多ET的滚动视图,我遇到了一个问题,当我尝试将文本写入f.e last EditText时,它隐藏在显示的键盘后面。

android:windowSoftInputMode="adjustPan"

有效,但我需要能够在键盘向上滚动整个布局。

当我正在玩状态栏时,就会发生这种情况,否则它完全可以正常工作:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

我知道它给出了窗口标志SYSTEM_UI_FLAG_LAYOUT_STABLE,但有没有办法让键盘移动scrollview就像有标准的appbar一样?无法找到此行为的解释。

这是我的xml:

<ScrollView android:id="@+id/scroll_view"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:fillViewport="true"
    android:focusable="true"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:minHeight="?attr/actionBarSize"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:title="Hello"
        app:titleTextColor="@android:color/holo_red_dark"
        android:background="#303F9F">
    </android.support.v7.widget.Toolbar>

        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="16dp"
            android:hint="test"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="16dp"
            android:hint="test1"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="16dp"
            android:hint="test2"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="16dp"
            android:hint="test3"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="16dp"
            android:hint="test4"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="16dp"
            android:hint="test5"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="16dp"
            android:hint="test6"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="16dp"
            android:hint="test7"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="16dp"
            android:hint="test8"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="16dp"
            android:hint="test9"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="16dp"
            android:hint="test10"/>
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="16dp"
            android:hint="test11"/>
    </LinearLayout>
</ScrollView>

感谢您提供任何帮助或建议!

0 个答案:

没有答案