1.首先说一下思路:

基本就是结合layout中ScrollView视图和AndroidManifest.xml中activity中的android:windowSoftInputMode属性配置实现;

2.要了解android:windowSoftInputMode相应的可以配置项:

activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。

这个属性能影响两件事情:

1.当有焦点产生时,软键盘是隐藏还是显示

2.是否减少活动主窗口大小以便腾出空间放软键盘

windowSoftInputMode的设置必须是下面列表中的一个值,或一个”state…”值加一个”adjust…”值的组合。在任一组设置多个值——多个”state…”values,例如&mdash有未定义的结果。各个值之间用|分开。

例如:

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

各值的含义:

stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置

stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示

stateHidden:用户选择activity时,软键盘总是被隐藏

stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的

stateVisible:软键盘通常是可见的

stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态

adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示

adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间

adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分

例如:

AndroidManifest.xml文件中界面对应的里加入

android:windowSoftInputMode="adjustPan"   键盘就会覆盖屏幕

android:windowSoftInputMode="stateVisible|adjustResize"   屏幕整体上移(结合ScrollView实现)

android:windowSoftInputMode="adjustPan|stateHidden" 软键盘弹出,界面布局不变,这是解决弹出软键盘,界面整体被压缩的方式(会导致整个界面上移动,显示效果不好)

3.具体实现

3.1定义ScrollView

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:fitsSystemWindows="true"

android:scrollbars="vertical">

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/set_account_info"

android:layout_marginTop="@dimen/business_management_title_top"

style="@style/large_size_home_main_color_style"

android:layout_gravity="center_horizontal"/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center_horizontal"

android:layout_marginTop="@dimen/add_confirm_top"

android:focusable="true"

android:focusableInTouchMode="true">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/add_accout_bank_title"

style="@style/cheque_collection_hint"

android:layout_alignBaseline="@+id/accout_bank"

android:text="@string/accout_bank"/>

android:layout_width="@dimen/add_account_code_w"

android:layout_marginTop="@dimen/common_gap"

android:layout_toRightOf="@+id/add_accout_bank_title"

style="@style/cheque_collection_et"

android:id="@+id/accout_bank"/>

android:id="@+id/confirm_add_btn"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

style="@style/common_btn_style"

android:layout_gravity="center_horizontal"

android:layout_marginTop="@dimen/add_confirm_top"

android:text="@string/confirmed" />

即ScrollVIew中包裹EditText等内容;

3.2为AndroidManifest.xml文件中activity添加android:windowSoftInputMode="stateHidden|adjustResize"属性

android:name=".ui.AddAccountActivity" android:windowSoftInputMode="stateHidden|adjustResize"

android:screenOrientation="landscape"/>

说明:

stateHidden:进入Activity默认隐藏键盘,通常需要看见整个页面,用户需要输入时点击输入框;

adjustResize:界面调整大小,键盘留在底部,ScrollView内容可以滚动,这样就继续可以看到整个页面;

ScrollView通常不要设置android:fillViewport="true"(作用就是布满整个屏幕即使内容高度没有屏幕的高度)属性(看实际需要吧),android:fillViewport="true"导致界面无法滚动,API 19,21有这个问题,API 27没有这个问题,主要看你适配的版本和需求了;

3.3效果图如下

总结

以上所述是小编给大家介绍的Android实现键盘弹出界面上移,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

android 设置键盘弹出动画,Android实现键盘弹出界面上移的实现思路相关推荐

  1. android实现软键盘弹出,editText随键盘上移,背景不动

    android实现软键盘弹出,editText随键盘上移,背景不动 前段时间有个妹子问我如题的需求,我就想,这种东西网上不是很多吗,自己试过才发现,基本都不行,各种设置配置文件的windowSoftI ...

  2. Android 软键盘弹出时布局内指定内容上移实现及问题解决

    Android 软键盘弹出时布局内指定内容上移实现及问题解决 参考文章: (1)Android 软键盘弹出时布局内指定内容上移实现及问题解决 (2)https://www.cnblogs.com/as ...

  3. Android11键盘弹出动画,(2016-11-04完美解决)移动端iOS第三方输入法遮挡底部input及android键盘回落后留白问题...

    问题概述 问题1:H5 web 移动端 输入框, 键盘唤起后fixed定位好的元素跟随页面滚动了起来- fixed属性失效了!满屏任性横飞, 如下图: 问题2:有几后来含些在到气时按式近篇来又的方浏消 ...

  4. android实现底部弹出框与软键盘冲突(全面屏虚拟键适配)

    普通的底部弹出框大家都可以很熟练的使用了,无非是一个diaolog的事情,但是当dialog中含有输入框之后,软键盘与dialog的冲突可以说是十分坑了...更别说加上底部虚拟键了,这么一个小功能磨得 ...

  5. android动态设置软键盘弹出模式,Android 弹出软键盘所遇到的坑及解决方法

    重要代码: //1.此layout作为最外层的layout: //2.设置需要调整的view: setAdjustView(View view); //3.如果需要控制输入框的显示与隐藏,可以实现On ...

  6. android 朋友圈弹出框,Android popupwidown 实现朋友圈评论弹窗显示在软键盘上面

    布局: android:layout_width="match_parent" android:layout_height="wrap_content" and ...

  7. android实现底部弹出菜单,Android实现底部缓慢弹出菜单

    项目要求要做一个从底部缓慢弹出一个Button Menu 开始编码: MyselfFragment package io.dcloud.H5B79C397.fragment; import andro ...

  8. Android设置EditText弹出软键盘

    final EditText editText = findViewById(R.id.et); editText.selectAll(); //默认选中EditText中的所有内容 editText ...

  9. android从底部弹出动画效果,七星电子游戏 -七星电子游戏V8.5.51

    一.Keepalived 1.目录 导言 查找结点的效率如何提升? 什么是跳跃表? 跳跃表必须是完美的? 预备知识 抛硬币实验 模拟建表 操作解析 伪代码 代码实现 柔性数组 跳跃表的创建与销毁 跳跃 ...

最新文章

  1. 2021年大数据Spark(四十八):Structured Streaming 输出终端/位置
  2. oracle常见单词_Oracle的词汇表
  3. 搜狗浏览器挡住了任务栏,上下显示不全
  4. 【数据结构与算法】之深入解析“不同的二叉搜索树II”的求解思路与算法示例
  5. GP学习(四)—Running a geoprocessing tool using background geoprocessing
  6. 【Eclipse 插件】Subclipse
  7. 【I】ZF2安装 和 创建一个新项目
  8. php使用邮箱发送验证码
  9. linux添加usb打印机,打印机配置和添加本地打印机
  10. PLC编程语言有几种
  11. PLC调试中的四个步骤
  12. Linux(二、三、四)简单命令、系统目录结构、文件类型、命令行管理文件学习
  13. Black-Scholes期权定价模型
  14. 活动选择与小船过河问题(贪心算法)
  15. SEO的职业发展规划及SEO优化未来的发展方向是什么?
  16. TensorFlow实现mnist书写数字分类,出现please use urllib or similar directly错误。
  17. Ctrl c 复制html,一键复制粘贴(用热键代替Ctrl+X、Ctrl+C、Ctrl+V)
  18. 电子邮件签名档 HTML 手写时的折腾(附 原创工具)
  19. Arcgis如何设置经纬网/出图网格设置
  20. STM32小白入门(第八天)-------低功耗蓝牙模块

热门文章

  1. DFS实现逆拓扑排序
  2. 分别用顺序表和链表实现队列
  3. 2.3.7 多生产者多消费者问题
  4. 解决uni-app中flex布局子元素宽度溢出
  5. ActiveMQ后台使用
  6. python设置ini文件中的值_PyCharm设置python文件模板,自动读取文件信息。
  7. handler机制的原理_5分钟了解Handler错误使用场景
  8. 面试官:谈谈你对零拷贝的理解~
  9. 再见 Win10!下一代操作系统来了。。
  10. 你一定不知道的 Linux 使用技巧