AppCompatActivity 去掉标题栏和EditText弹出软键盘遮住输入框问题

白日放歌须纵酒,青春作伴好还乡。这篇文章主要讲述AppCompatActivity 去掉标题栏和EditText弹出软键盘遮住输入框问题相关的知识,希望能为你提供帮助。
1.  AppCompatActivity去掉标题栏此处除掉标题栏,需要注意一点,AppCompactActivity是继承自Activity。然而,AppCompactActivity据查看网上资料得知,其实它貌似没有标题栏,上面显示的标题栏是一个ActionBar控件(PS:即标题栏部分是一个控件,该控件功能还比较强大),因此AppCompactActivity可以对该控件添加相关返回、许多等类似功能按钮,如果不添加这些按钮看起来就像是一个标题栏。
 
所以,在网上许多去配置value文件夹中的style.xml文件或者在androidManifest.xml文件修改theme属性值都是不能有效去掉标题栏的。这些方法仅仅适用所写类继承自Activity的类。
 
那么继承自AppCompactActivity的类,在onCreateView中加入以下第一行代码即可有效隐藏标题栏,加入两行即可实现占据全屏功能。(PS:经过楼主自己测试普通浏览滑动界面可以隐藏,但是在某些情况下,比如该界面有一个视频播放功能,点击全屏播放,退出全屏后,标题栏可能又无法隐藏。不过一般情况下,隐藏功能还是没问题的)
 

getSupportActionBar().hide(); //隐藏标题栏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); //实现全屏,隐藏手机顶部时间相关信息显示

 
 
参考资料:android开发:activity继承AppCompatActivity 去掉标题栏
 
 
2.EditText弹出软键盘遮住输入框问题具体解释摘抄自一篇网友博客(PS:方便以后自己查阅,原文链接)
在AndroidManifest.xml中对应的Activity配置:android:windowSoftInputMode="adjustResize"(PS:或者换成"stateVisible|adjustResize",此时会强制弹出软盘)
< ?xml version="1.0" encoding="utf-8"?> < manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.helloworld"> < uses-permission android:name="android.permission.INTERNET" /> < application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> < activity android:name=".Main2Activity" android:windowSoftInputMode="adjustResize"> < intent-filter> < action android:name="android.intent.action.MAIN" /> < category android:name="android.intent.category.LAUNCHER" /> < /intent-filter> < /activity> < activity android:name=".MainActivity"> < /activity> < /application> < /manifest>

 
含义:该页面屏幕内容被压缩,以腾出软键盘的空间.
解释它们的含义:
  • stateUnspecified:界面没有设置"android:windowSoftInputMode"时的状态.这个状态是弹出有EditText的界面时时不弹出软键盘的,当EditText获取焦点的时候弹出软件盘
  • stateUnchanged:状态不改变,意思就是和上一个界面相同,上一个界面弹出软键盘,跳转到这个界面时,软键盘也是弹出状态.
  • stateHidden:隐藏键盘,弹出这个界面的时候,不管上个界面是什么状态,这个界面的软键盘都是隐藏的.
  • stateAlwaysHidden:一直隐藏(跟上面的区别未知,试不出来).
  • stateVisible:强制弹出软键盘.跳转到界面后,没有EditText也弹出键盘.
  • stateAlwaysVisible:一直显示键盘(同上).
【AppCompatActivity 去掉标题栏和EditText弹出软键盘遮住输入框问题】 

    推荐阅读