【问题标题】:How to avoid keyboard block screen using scroll view (using adjustResize)如何使用滚动视图避免键盘阻塞屏幕(使用adjustResize)
【发布时间】:2016-11-15 15:26:51
【问题描述】:

我的问题可能是 [重复] 我尝试了所有解决方案但没有任何效果。

在清单中声明活动 我正在使用 adjustResize 但它不起作用。我尝试了 adjustPan 和其他选项,但没有一个有效。

     <activity
        android:name=".NotesActivity"
        android:configChanges="keyboardHidden|orientation|screenSize"
        android:windowSoftInputMode="adjustResize"></activity>

XML 屏幕代码 我正在使用滚动视图,但仍然无法防止屏幕阻塞。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorPrimaryDark"
android:fitsSystemWindows="false"
android:focusable="true"
android:focusableInTouchMode="true">

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:theme="@style/AppTheme">

    <TextView
        android:id="@+id/toolbar_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:textColor="@color/colorwhite"
        android:textSize="18sp" />

</android.support.v7.widget.Toolbar>

<View
    android:id="@+id/sep"
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:layout_below="@+id/toolbar"
    android:background="@color/colorwhite" />


<ScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/sep"
    android:background="@color/colorPrimaryDark"
    android:fillViewport="true"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:padding="15dp"
    android:scrollbars="none">

    <LinearLayout
        android:id="@+id/llayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:visibility="visible">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:text="Medical Certificate Issued:"
            android:textColor="@color/colorwhite"
            android:textSize="16sp" />


        <RadioGroup
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:background="@drawable/round_edittext"
            android:orientation="horizontal"
            android:padding="8dp"
            android:theme="@style/AppTheme3">

            <RadioButton
                android:id="@+id/radio_yes"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dp"
                android:buttonTint="@color/colorblack"
                android:onClick="onRadioButtonClicked"
                android:paddingRight="10dp"
                android:text="Yes"
                android:textSize="18sp"
                android:theme="@style/AppTheme3" />

            <RadioButton
                android:id="@+id/radio_no"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="15dp"
                android:buttonTint="@color/colorblack"
                android:checked="true"
                android:onClick="onRadioButtonClicked"
                android:text="No"
                android:textSize="18sp"
                android:theme="@style/AppTheme3" />
        </RadioGroup>

        <LinearLayout
            android:id="@+id/certificate_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:orientation="horizontal"
            android:padding="25dp"
            android:weightSum="2">


            <TextView
                android:id="@+id/certificate_from"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:layout_weight="1"
                android:background="@drawable/round_edittext"
                android:gravity="center_vertical|left"
                android:maxLines="1"
                android:minLines="1"
                android:paddingBottom="8dp"
                android:paddingLeft="5dp"
                android:paddingTop="8dp"
                android:text="From"
                android:textColor="@color/colorblack" />

            <TextView
                android:id="@+id/certificate_to"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp"
                android:layout_weight="1"
                android:background="@drawable/round_edittext"
                android:gravity="center_vertical|left"
                android:maxLines="1"
                android:minLines="1"
                android:paddingBottom="8dp"
                android:paddingLeft="5dp"
                android:paddingTop="8dp"
                android:text="To"
                android:textColor="@color/colorblack" />

        </LinearLayout>

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:text="Follow up required:"
            android:textColor="@color/colorwhite"
            android:textSize="16sp" />

        <RadioGroup
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:background="@drawable/round_edittext"
            android:orientation="horizontal"
            android:padding="8dp"
            android:theme="@style/AppTheme3">

            <RadioButton
                android:id="@+id/radio_follow_yes"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dp"
                android:buttonTint="@color/colorblack"
                android:paddingRight="10dp"
                android:text="Yes"
                android:textSize="18sp"
                android:theme="@style/AppTheme3" />

            <RadioButton
                android:id="@+id/radio_follow_no"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="15dp"
                android:buttonTint="@color/colorblack"
                android:checked="true"
                android:text="No"
                android:textSize="18sp"
                android:theme="@style/AppTheme3" />
        </RadioGroup>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="15dp"
            android:background="@drawable/round_edittext"
            android:orientation="horizontal"
            android:paddingLeft="5dp"
            android:paddingRight="5dp"
            android:weightSum="3">

            <CheckBox
                android:id="@+id/checkbox_sc"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_weight="1.1"
                android:buttonTint="@color/colorblack"
                android:paddingBottom="8dp"
                android:paddingTop="8dp"
                android:text="SC"
                android:theme="@style/AppTheme3" />

            <CheckBox
                android:id="@+id/checkbox_p"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_weight="1.1"
                android:buttonTint="@color/colorblack"
                android:paddingBottom="8dp"
                android:paddingTop="8dp"
                android:text="P"
                android:theme="@style/AppTheme3" />

            <CheckBox
                android:id="@+id/checkbox_pt"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_weight="0.8"
                android:buttonTint="@color/colorblack"
                android:ems="3"
                android:paddingBottom="8dp"
                android:paddingTop="8dp"
                android:text="PT"
                android:theme="@style/AppTheme3" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:background="@drawable/round_edittext"
            android:orientation="horizontal"
            android:paddingLeft="5dp"
            android:paddingRight="5dp"
            android:weightSum="3">

            <CheckBox
                android:id="@+id/checkbox_rfb"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_weight="1.1"
                android:buttonTint="@color/colorblack"
                android:paddingBottom="8dp"
                android:paddingTop="8dp"
                android:text="RFB"
                android:theme="@style/AppTheme3" />

            <CheckBox
                android:id="@+id/checkbox_path"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_weight="1.1"
                android:buttonTint="@color/colorblack"
                android:paddingBottom="8dp"
                android:paddingTop="8dp"
                android:text="PATH"
                android:theme="@style/AppTheme3" />

            <CheckBox
                android:id="@+id/checkbox_ref"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_weight="0.8"
                android:buttonTint="@color/colorblack"
                android:paddingBottom="8dp"
                android:paddingTop="8dp"
                android:text="REF"
                android:theme="@style/AppTheme3" />

        </LinearLayout>


        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="15dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBottom="@+id/edit"
                android:text="Your Signature:"
                android:textColor="@color/colorwhite"
                android:textSize="16sp" />


            <TextView
                android:id="@+id/remove"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_marginTop="10dp"
                android:background="@drawable/round_line"
                android:ems="5"
                android:gravity="center"
                android:maxLines="1"
                android:paddingBottom="8dp"
                android:paddingLeft="15dp"
                android:paddingRight="15dp"
                android:paddingTop="8dp"
                android:text="Remove"
                android:textColor="@color/colorwhite" />

            <TextView
                android:id="@+id/edit"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="20dp"
                android:layout_marginTop="10dp"
                android:layout_toLeftOf="@+id/remove"
                android:background="@drawable/round_line"
                android:ems="5"
                android:gravity="center"
                android:maxLines="1"
                android:paddingBottom="8dp"
                android:paddingLeft="15dp"
                android:paddingRight="15dp"
                android:paddingTop="8dp"
                android:text="Edit"
                android:textColor="@color/colorwhite" />

        </RelativeLayout>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:background="@drawable/round_edittext">

            <TextView
                android:id="@+id/add"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:minLines="7"
                android:text="Add your signature!"
                android:textColor="@color/colorblack"
                android:textSize="20sp"
                android:textStyle="bold" />

            <ImageView
                android:id="@+id/signature_img"
                android:layout_width="wrap_content"
                android:layout_height="200dp"
                android:layout_alignBottom="@+id/add"
                android:layout_alignLeft="@+id/add"
                android:layout_alignRight="@+id/add"
                android:layout_alignTop="@+id/add" />

        </RelativeLayout>


        <Button
            android:id="@+id/submit"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:background="@drawable/round_green"
            android:gravity="center"
            android:maxLines="1"
            android:paddingBottom="8dp"
            android:paddingLeft="5dp"
            android:paddingTop="8dp"
            android:text="Submit"
            android:textColor="@color/colorwhite"
            android:textSize="18sp" />

    </LinearLayout>


</ScrollView>

<ProgressBar
    android:id="@+id/login_progress"
    style="?android:attr/progressBarStyleLarge"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:layout_marginBottom="8dp"
    android:visibility="gone" />

【问题讨论】:

    标签: android android-layout window-soft-input-mode


    【解决方案1】:

    尝试将alignParentBottom 添加到您的ScrollView。因此,当您的父母被拉伸时,ScrollView 将跟随并被拉伸。让我知道这是否有效!

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/sep"
        android:layout_alignParentBottom="true"
        android:background="@color/colorPrimaryDark"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:padding="15dp"
        android:scrollbars="none">
    

    【讨论】:

    • 您应该尝试删除 ScrollView 上的 fillViewPort 并删除父级上的 fitSystemWindows...看来您保留了许多在那里不起作用的修复...
    • 刚刚删除了 ScrollView 上的 fillViewPort 并删除了 fitSystemWindows。但仍然无法正常工作。是的,我尝试了很多东西,但没有奏效
    • 但是你可以滚动吗?你想在这里实现什么?您想继续看到提交按钮吗?
    • 当键盘打开时,我看不到签名部分,甚至完全滚动
    • 我们可能在这里遗漏了一个信息...您是否将&lt;item name="android:windowFullscreen"&gt;true&lt;/item&gt; 放在了App 样式中?因为那取消了 AdjustResize 属性。另外,我不使用 -> android:configChanges="keyboardHidden|orientation|screenSize" 在我的 Activity 中看起来像你的
    【解决方案2】:

    我只用

    android:windowSoftInputMode="stateHidden|adjustResize" 
    

    它适用于我的应用程序

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多