android开发分享android沉浸式状态栏下,键盘遮挡输入框问题

1、键盘遮挡输入框;2、全屏或沉浸式模式下,键盘导致标题栏上移;


问题:

1、键盘遮挡输入框;
2、全屏或沉浸式模式下,键盘导致标题栏上移;

1、布局文件:

<LinearLayout         android:layout_width="match_parent"         android:layout_height="match_parent"         android:background="@color/cl_e0"         android:orientation="vertical">          <!--标题栏-->         <com.kedacom.statusbar.widget.StatusBarHeightView             android:id="@+id/statusbar"             android:layout_width="match_parent"             android:layout_height="wrap_content"             android:background="@drawable/icon_header_bg"             android:gravity="center"             android:orientation="vertical"             app:use_type="use_padding_top">             <include                 android:id="@+id/inclue"                 layout="@layout/common_title_layout" />         </com.kedacom.statusbar.widget.StatusBarHeightView>          <android.support.v4.widget.NestedScrollView             android:layout_width="match_parent"             android:layout_height="match_parent">             <LinearLayout                 android:layout_width="match_parent"                 android:layout_height="match_parent"                 android:orientation="vertical">                 <android.support.constraint.ConstraintLayout                     android:layout_width="match_parent"                     android:layout_height="400dp"                     android:background="@color/cl_333"                     android:padding="14dp">                 </android.support.constraint.ConstraintLayout>                 <RelativeLayout                     android:layout_width="match_parent"                     android:layout_height="200dp"                     android:layout_marginTop="10dp"                     android:background="@color/white"                     android:padding="14dp">                     <EditText                         android:id="@+id/et_contact"                         android:layout_width="260dp"                         android:layout_height="38dp"                         android:layout_alignParentBottom="true"                         android:layout_marginTop="10dp"                         android:gravity="center_vertical"                         android:inputType="number"                         android:maxLength="11"                         android:paddingStart="11dp"                         android:textColor="@color/cl_333"                         android:textColorHint="@color/cl_999"                         android:textSize="16sp" />                 </RelativeLayout>             </LinearLayout>         </android.support.v4.widget.NestedScrollView>     </LinearLayout> 

2、修复遮挡问题:

在activity的onCreate方法中调用:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN |                 WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);                  //解决键盘档住输入框 SoftHideKeyBoardUtil.assistActivity(this); 

注意事项:
1、布局文件中使用ScrollView嵌套需要滚动的布局(标题栏以下);
2、需要设置当前页面输入法模式:SOFT_INPUT_ADJUST_RESIZE(必须);注意不用受BaseActivity中的配置干扰;

特别说明(个人需求):
主页面使用了FragmentViewPagerTabLayout(内部是ViewPager),SoftHideKeyBoardUtil方法会导致键盘顶起底部导航栏,所以没有在BaseActivity中调用该方法。

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/addevelopment/895992.html

(0)
上一篇 2021年10月21日
下一篇 2021年10月21日

精彩推荐