`

android:windowSoftInputMode="adjustPan"

 
阅读更多

在androidMainfest.xml文件中在此Activity中写入 android:windowSoftInputMode="adjustPan"  可以让界面不被弹出的键盘挤上去

 


android:windowSoftInputMode

活动的主窗口如何与包含屏幕上的软键盘窗**互。这个属性的设置将会影响两件事情:

1> 软键盘的状态——是否它是隐藏或显示——当活动(Activity)成为用户关注的焦点时。

2> 活动的主窗口调整——是否减少活动主窗口大小以便腾出空间放软键盘或是否当活动窗口的部分被软键盘覆盖时它的内容的当前焦点是可见的。



它的设置必须是下面列表中的一个值,或一个”state…”值加一个”adjust…”值的组合。各个值之间用|分开。

例如: < activity android:windowSoftInputMode="stateVisible|adjustResize" . >

在这设置的值(除"stateUnspecified"和"adjustUnspecified"以外)将覆盖在主题中设置的值



描述:

"stateUnspecified"

这个是软件盘行为默认的设置。软键盘的状态(是否它是隐藏或可见)没有被指定。系统将选择一个合适的状态或依赖于主题的设置。



"stateUnchanged"

当主窗口出现在前面时,软键盘被保持它上次是什么状态,无论上次是可见或隐藏。



"stateHidden"

当用户选择该Activity时,软键盘被隐藏——也就是说,当用户确定导航到该Activity时,不管他离开的Activity的软键盘是可见还是隐藏都会被隐藏,不过当用户离开一个Activity而导致另一个被覆盖的Activity显示出来时,软键盘会使用默认的设置。



"stateAlwaysHidden"

当该Activity主窗口获取焦点时,软键盘总是被隐藏的,不管是确认导航到该Activity还是Activity被覆盖后显示出来。



"stateVisible"

当用户导航到Activity主窗口时,软键盘是可见的。不过当用户离开一个Activity而导致另一个被覆盖的Activity显示出来时,软键盘会使用默认的设置。



"stateAlwaysVisible"

当该Activity主窗口获取焦点时,软键盘总是显示的,不管是确认导航到该Activity还是Activity被覆盖后显示出来。



"adjustUnspecified"

这个是软件盘行为默认的设置。它不被指定是否该Activity主窗口调整大小以便留出软键盘的空间,或是否窗口上的内容得到屏幕上当前的焦点是可见的。系统将自动选择这些模式中一种主要依赖于是否窗口的内容有任何布局视图能够滚动他们的内容。如果有这样的一个视图,这个窗口将调整大小,这样的假设可以使滚动窗口的内容在一个较小的区域中可见的。



"adjustResize"

该Activity主窗口总是被调整屏幕的大小以便留出软键盘的空间

"adjustPan"

该Activity主窗口并不调整屏幕的大小以便留出软键盘的空间。相反,当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分。这个通常是不期望比调整大小,因为用户可能关闭软键盘以便获得与被覆盖内容的交互操作。
故而,我建议我们的配置中,统一使用如下设置:

android:windowSoftInputMode=" stateAlwaysHidden | adjustPan "

想要一进入activity就弹出键盘怎么设置?
有两种方法:一个是直接设置android:windowSoftInputMod=“adjustResize”
另一个是android:windowSoftInputMod=“adjustPan | stateAlwaysVisible”
但是我喜欢用第一个,因为第一个软键盘和输入框会完全分离,而第二个输入框还是会被软键盘盖住一点点
而且第二个要把两个属性叠加起来,为什么要叠加起来呢,因为如果只用adjustPan 的话需要点击输入框才会弹出软键盘
看图会看得仔细一点,当然自己能实验一下更好

<ignore_js_op>

 

stateAlwaysVisible_or_adjustPan.png (108.51 KB, 下载次数: 0)

 

adjustpan和alwayvisible连用

adjustpan和alwayvisible连用

<ignore_js_op>

adjustpan.png (63.24 KB, 下载次数: 0)

 

只有adjustpan

只有adjustpan

<ignore_js_op>

adjustsize.png (110.96 KB, 下载次数: 2)

 

只有adjustresize

只有adjustresize

分享到:
评论

相关推荐

    Android中的windowSoftInputMode属性详解

    在前面的一篇文章中,简单的介绍了一下如何实现软键盘不自动弹出,使用的方法是设置android:windowSoftInputMode属性。那么,这个属性到底是干什么的,他有什么作用呢?今天这篇文章,就是探索android:...

    Android代码-仿微信app.rar

    &lt;!... android:name="com.fanxin.huangfangyi.main.activity.LoginActivity" android:screenOrientation="portrait" android:theme="@style/horizontal_... android:windowSoftInputMode="adjustPan"&gt;&lt;/activity&gt;

    android edittext不弹出软键盘三种方法

    android:windowSoftInputMode="adjustUnspecified|stateHidden" android:configChanges="orientation|keyboardHidden"&gt; &lt;intent-filter&gt; &lt;action android:name="android.intent.action.MAIN" /&gt; &lt;category ...

    安卓开发过程中总结的一些案例

    # ShopCart 案例 ## 截图 ![购物车](screenshots/shopcart.png) ## 功能与特性 ... * recycleview 中嵌套 Checkbox 的选择问题,一般在 bean 类添加...activity 添加 android:windowSoftInputMode="stateHidden|adjust

    MyFileChooser.rar

    &lt;item name="android:windowSoftInputMode"&gt;adjustNothing  &lt;item name="android:windowNoTitle"&gt;true&lt;/item&gt; &lt;/style&gt; ----------- android:name="studio32a.yangguang.passwordmanager....

    Android :使用ViewTreeObserver进行监听测绘页面

    “android:windowSoftInputMode=adjustPan|stateHidden ,但是没啥用啊,后来又详细的查看了相对应的其他几个参数,也都挨个试验了,最后失败;只好再次去另寻他法 2.第二个方法就是进行让整个页面进行滑动,NestedScroll

    仿qq登录界面软键盘弹出时不覆盖登录注册按钮

    1、将activity的软件盘弹出模式设置为android:windowSoftInputMode="adjustResize" 2、使用一个可以重叠的布局比如FrameLayout、RelativeLayout等,在布局底部放置一个充满屏幕的自定义布局,重写onSizeChanged方法...

    Android实现键盘弹出界面上移的实现思路

    基本就是结合layout中ScrollView视图和AndroidManifest.xml中activity中的android:windowSoftInputMode属性配置实现; 2.要了解android:windowSoftInputMode相应的可以配置项: activity主窗口与软键盘的交互模式,...

    Android仿微信QQ聊天顶起输入法不顶起标题栏的问题

    在这记录一下输入法弹出的一系列问题,有的输入法弹出就把...android:windowSoftInputMode=adjustResize 二:在activity的xml根布局设置 android:fitsSystemWindows=true 三:为了listview聊天列表的效果,在listview

    Android软键盘挡住输入框的终极解决方案

    对于这种情况的处理其实很简单,只需要在AndroidManifest文件中对activity设置:android:windowSoftInputMode的值adjustPan或者adjustResize即可,像这样: &lt;activity android:name=.MainActivity

    Android软键盘显示模式及打开和关闭方式(推荐)

    如:android:windowSoftInputMode=”stateUnchanged|adjustPan”  该属性可选的值有两部分,一部分为软键盘的状态控制,另一部分是活动主窗口的调整。前一部分本文不做讨论,请读者自行查阅android文档。  模式一...

    Android键盘挡住输入框

    * 本来以为Actviity设置下android:windowSoftInputMode="adjustResize|adjustPan"就可以解决问题,测试下了发现不行; * adjustPan是把整个界面向上平移,使输入框露出,不会改变界面的布局; 不行吧,我这边已经全部...

    Android中Activity启动默认不显示输入法解决方法

    android:windowSoftInputMode=”stateHidden” 您可能感兴趣的文章:Android中系统默认输入法设置的方法(输入法的显示和隐藏)Android 显示和隐藏输入法实现代码Android程序打开和对输入法的操作(打开/关闭)Android...

    Android 软键盘弹出隐藏挤压界面等各种问题小结

    Android中软键盘的使用是非常多的,下面为软键盘常用的设置;...android:windowSoftInputMode=adjustResize 这样activity的主窗口总会resize为键盘提供空间 case2:你的输入框处于偏上面,一般情况下这样就不会有

    页面未随软键盘上升及android隐藏软键盘总结

    就是在配置文件里对应activity加上这句:android:windowSoftInputMode=”stateVisible|adjustResize”  设置之后 android:windowSoftInputMode属性介绍 android:windowSoftInputMode activity主窗口与软键盘的...

    Android软键盘弹出时的界面控制方法

    本文实例讲述了Android软...android:windowSoftInputMode=stateUnchanged|adjustResize 模式二:平移模式 软键盘弹出以后,不会压缩原先的大小,而是覆盖 我们可以在AndroidManifet.xml中对Activity进行设置。如: an

    Android代码-KeyboardChangeListener

    android:windowSoftInputMode="adjustResize" java: new KeyboardChangeListener(this).setKeyBoardListener(new KeyboardChangeListener.KeyBoardListener() { @Override public void onKeyboardChange(boolean ...

    让Android中RadioGroup不显示在输入法上面的办法

    如果你在开发过程中经常使用 RadioGroup,那你是否遇到过下面这种情况 ... 你可能会想到需要给RadioGroup添加下面这条属性: android:layout_alignParentBottom...android:windowSoftInputMode=adjustNothing 写法如下:

    Android监听软键盘弹出与隐藏的两种方法

    指定android:windowSoftInputMode=”adjustResize|stateAlwaysHidden”这个的做法是为了让键盘弹出时改变布局。 让Activity实现LayoutchangeListener,监听布局的改变,当布局发生的改变为屏幕的1/3时我们认为是...

Global site tag (gtag.js) - Google Analytics