1、华为的虚拟键盘解决了好久,一直都是只能适配部分机型,后来看了一篇说是完美解决Android虚拟键盘问题的,就按照这个思路做,发现一直有问题。最后发现解决的办法非常简单,我自己的华为手机是好使的,由于没有那么多设备只能当他好使了
1、在styles.xml中设置如下方式
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/black</item> <item name="colorPrimaryDark">@color/black</item> <item name="colorAccent">@color/black</item> </style>
在自己的父布局中加入:扩展android:fitsSystemWindows="true",不加好像也没问题
2、然后在androidMainfest.xml中调用该Theme
android:theme="@style/AppTheme"
3、其实完全不需要判断是否存在虚拟键盘的问题,只要有一个设置就行,感觉被网上的许多解决方案误导了。
如下图所示:
4、上面的几个说明:
伴随着Android5.0的发布也更新了support-v7-appcompat 到V21,其中增加了ToolBar、recyclerview、cardview等控件。
Android5.0对改变APP样式下了不小的功夫,写法也和以前不一样了,下面先简单介绍一下colorAccent,colorPrimary,colorPrimaryDark……的作用:
1.colorPrimary 应用的主要色调,actionBar默认使用该颜色,Toolbar导航栏的底色
2.colorPrimaryDark 应用的主要暗色调,statusBarColor默认使用该颜色
3.statusBarColor 状态栏颜色,默认使用colorPrimaryDark
4.windowBackground 窗口背景颜色
5.navigationBarColor 底部栏颜色
6.colorForeground 应用的前景色,ListView的分割线,switch滑动区默认使用该颜色
7.colorBackground 应用的背景色,popMenu的背景默认使用该颜色
8.colorAccent CheckBox,RadioButton,SwitchCompat等一般控件的选中效果默认采用该颜色
9.colorControlNormal CheckBox,RadioButton,SwitchCompat等默认状态的颜色。
10.colorControlHighlight 控件按压时的色调
11.colorControlActivated 控件选中时的颜色,默认使用colorAccent
12.colorButtonNormal 默认按钮的背景颜色
13.editTextColor:默认EditView输入框字体的颜色。
14.textColor Button,textView的文字颜色
15.textColorPrimaryDisableOnly RadioButton checkbox等控件的文字
16.textColorPrimary 应用的主要文字颜色,actionBar的标题文字默认使用该颜色
17.colorSwitchThumbNormal: switch thumbs 默认状态的颜色. (switch off)