Android软键盘一些处理
来源:互联网 发布:学习辅助软件 编辑:程序博客网 时间:2024/06/05 07:38
不自动弹出软键盘,带有EditText控件的在第一次显示的时候会自动获得focus,并弹出键盘,如果不想自动弹出键盘,有两种方法如下:
方法一:
在mainfest文件中把对应的activity设置
android:windowSoftInputMode="stateHidden|adjustResize"也可以根据项目需要设置其他属性如下:stateUnspecified :未指定软键盘的状态,系统将自动选择一个合适的状态或依赖于主题中的设置,这是默认的设置 stateUnchanged : 当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示 stateHidden : 用户选择activity时,软键盘总是被隐藏 stateAlwaysHidden :当该Activity主窗口获取焦点时,软键盘也总是隐藏的 stateVisible :软键盘通常是可见的 stateAlwaysVisible :用户选择activity时,软键盘总是显示的状态 adjustUnspecified :默认设置,通常由系统自行决定是隐藏还是显示 adjustResize: 该Activity总是调整屏幕的大小以便留出软键盘的空间 adjustPan : 当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分 一般来说,用的比较多的还是"stateHidden|adjustResize"和"stateHidden|adjustPan"这两对组合。"adjustResize"在使用时布局会被软键盘顶上去,体验非常不好"adjustPan"在使用时获取焦点的控件下边的View将会被软键盘覆盖
方法二:
就是让EditText第一次进去不自动获取焦点,方法是在父控件上加上下面两行代码:
android:focusable="true" android:focusableInTouchMode="true"
隐藏软件盘 代码如下:
import android.content.Context;import android.os.IBinder;import android.view.MotionEvent;import android.view.View;import android.view.inputmethod.InputMethodManager;import android.widget.EditText;/** * 软键盘隐藏工具类 * Created by chen_yong on 2017/5/8. */public class DisplayUtils { /** * @param v view * @param event 时间 * @return 根据EditText所在坐标和用户点击的坐标相对比,来判断是否隐藏键盘,因为当用户点击EditText时没必要隐藏 */ public static boolean isShouldHideInput(View v, MotionEvent event) { if (v != null && (v instanceof EditText)) { int[] l = {0, 0}; v.getLocationInWindow(l); int left = l[0], top = l[1], bottom = top + v.getHeight(), right = left + v.getWidth(); if (event.getX() > left && event.getX() < right && event.getY() > top && event.getY() < bottom) { // 点击EditText的事件,忽略它。 return false; } else { //点击其他地方EditText失去焦点 v.clearFocus(); return true; } } // 如果焦点不是EditText则忽略,这个发生在视图刚绘制完,第一个焦点不在EditView上,和用户用轨迹球选择其他的焦点 return false; } /** * * 多种隐藏软件盘方法的其中一种 * * * * @param token edittext.getWindowToken() */ public static void hideSoftInput(Context mContext, IBinder token) { if (token != null) { InputMethodManager im = (InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE); im.hideSoftInputFromWindow(token, InputMethodManager.HIDE_NOT_ALWAYS); } }}
阅读全文
0 0
- Android软键盘一些处理
- Android处理软键盘
- Android软键盘处理
- android处理软键盘的方式 我的一些经验
- android软键盘事件处理
- Android 软键盘弹出处理
- Android 软键盘的处理
- android软键盘的一些控制
- android软键盘的一些控制
- android软键盘的一些控制
- Android软键盘的一些控制
- android 软键盘的一些常识
- android InputMethodManager 软键盘的一些操作
- android软键盘的一些控制
- Android软键盘的一些控制
- android软键盘的一些控制
- android软键盘的一些控制
- android软键盘的一些控制
- 微信小程序,一个有局限的类似 React Native 轮子
- 【自动内存管理机制】(1)Java内存区域(方法区、虚拟机栈、本地方法栈、堆、程序计数器)与内存溢出异常
- Android sdk安装目录中没有platform-tools目录问题详解
- 征信空白是好事吗?
- keil 5的add flash programming algorithm问题解答
- Android软键盘一些处理
- 浅析总结 Java 内部类的一些使用与梳理
- 基于贪心算法的背包问题
- lintcode[363]:接雨水
- 3、数据类型
- Python实现从excel读取数据并绘制成精美图像
- ajax跨域的实现
- 互联网世界的“人工智能”——探秘“深度学习”的前世今生
- c语言 随机函数详解