软键盘在Android中使用的还是挺多的,总结一些用法
隐藏软键盘
hideSoftInputFromWindow(windowToken, flags)
- windowToken:view.getWindowToken(), view实际上可以是布局中的任意一个view,也可以使用Activity的顶层DecorView的getWindowToken()来隐藏当前Activity中显示的软键盘
- flags:
- HIDE_IMPLICIT_ONLY:只有当显示软键盘时指定的flag为SHOW_IMPLICIT时,软键盘才会隐藏
- HIDE_NOT_ALWAYS:当显示软键盘时指定的flag为SHOW_FORCED时,软键盘不会隐藏
public static void hideSoftInput(Context context, View view) { InputMethodManager im = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); if (null != im && im.isActive() && null != view) { im.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); } }
显示软键盘
showSoftInput(view, flags)
- view: 必须是EditText, 或者EditText的子类,必须是可以获取焦点的, 且已经获取到焦点,必须是可见的, 必须已经完成加载,如果还未绘制完成,则showSoftInput()方法不起作用
- flags:
- SHOW_IMPLICIT:本次显示软键盘的请求不是来自用户的直接请求,而是隐式的请求
- SHOW_FORCED:这个参数的取值对软键盘的显示没有任何影响,无论取哪一个值软键盘都能够正常显示。实际上这个参数影响的并不是软键盘的显示,而是软键盘的隐藏
public static void showSoftInput(Context context, View view) { InputMethodManager im = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); if (null != im && null != view) { im.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT); } }
设定软键盘的模式
public static void setSoftInputMode(Activity activity, int mode) { Window window = activity.getWindow(); if (null != window) { window.setSoftInputMode(mode); } }
软键盘弹起关闭监听
mEtSearch.getViewTreeObserver().addOnGlobalLayoutListener(() -> { Rect r = new Rect(); mEtSearch.getWindowVisibleDisplayFrame(r); int screenHeight = mEtSearch.getRootView().getHeight(); int heightDifference = screenHeight - (r.bottom); isShowSoftKeyboard = heightDifference > 200; });
猜你喜欢
- 18天前(四川率先建立“双定向”基层文化人才职称评审通道机制)四川率先建立“双定向”基层文化人才职称评审通道机制
- 18天前(郭富城热舞劲歌演唱会)郭富城年度压轴《新濠尊属系列郭富城梦幻舞林演唱会2023》
- 18天前(fender japan hybrid)Fender东京旗舰店盛大开幕在即,开售商品和店内服务提前揭晓
- 18天前(云南南博会展馆)旅居云南馆亮相第9届南博会
- 18天前(新西兰航空官方网站)新西兰航空85周年焕新启航 全方位客舱升级,飞「悦」快意时光
- 18天前(当科学邂逅喜剧:科技馆喜剧嘉年华背后的"文旅破壁者")当科学邂逅喜剧:科技馆喜剧嘉年华背后的"文旅破壁者"
- 18天前(万豪旅享家活动2021)精彩上新,漫享夏日----跟随万豪旅享家新开酒店解锁夏日旅行灵感
- 18天前(世茂海峡大厦多高)巴西地产高管齐聚厦门世茂海峡大厦 共探超高层建筑锻造经验
- 18天前(殷建祥简历)全国十大牛商解码:殷建祥如何用178天技术突围打造星空梦星空房
- 18天前(芜宣机场国际航班)新华丝路:芜宣机场开通至越南首都河内的国际货运航线
网友评论
- 搜索
- 最新文章
- (2020广州车展哈弗)你的猛龙 独一无二 哈弗猛龙广州车展闪耀登场
- (哈弗新能源suv2019款)智能科技颠覆出行体验 哈弗重塑新能源越野SUV价值认知
- (2021款全新哈弗h5自动四驱报价)新哈弗H5再赴保障之旅,无惧冰雪护航哈弗全民电四驱挑战赛
- (海南航空现况怎样)用一场直播找到市场扩张新渠道,海南航空做对了什么?
- (visa jcb 日本)优惠面面俱到 JCB信用卡邀您畅玩日本冰雪季
- (第三届“堡里有年味·回村过大年”民俗花灯会活动)第三届“堡里有年味·回村过大年”民俗花灯会活动
- (展示非遗魅力 长安启源助力铜梁龙舞出征)展示非遗魅力 长安启源助力铜梁龙舞出征
- (阿斯塔纳航空公司)阿斯塔纳航空机队飞机数量增至50架
- (北京香港航班动态查询)香港快运航空北京大兴新航线今日首航
- (我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉)我在港航“呵护”飞机 每一次安全着陆就是最好的荣誉
- 热门文章