文档章节

总结系列--输入法相关

k
 kim366
发布于 2016/05/13 19:13
字数 531
阅读 2
收藏 0

     android:windowSoftInputMode

 activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。这个属性能影响两件事情:

【A】当有焦点产生时,软键盘是隐藏还是显示

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

各值的含义:

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

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

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

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

【E】stateVisible:软键盘通常是可见的

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

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

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

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



    





    隐藏软键盘:隐藏软键盘:

   getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

   

   相关软键盘事件:

Activity生成时,默认隐藏软键盘getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

DialogFragment不能和输入法同时出现。


1、方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示)

[java]  view plain copy
  1. InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);  
  2. imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);  

 

2、方法二(view为接受软键盘输入的视图,SHOW_FORCED表示强制显示)

[java]  view plain copy
  1. InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);  
  2. imm.showSoftInput(view,InputMethodManager.SHOW_FORCED);  
[java]  view plain copy
  1. imm.hideSoftInputFromWindow(view.getWindowToken(), 0); //强制隐藏键盘  


3、调用隐藏系统默认的输入法

[java]  view plain copy
  1. ((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(WidgetSearchActivity.this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);  (WidgetSearchActivity是当前的Activity)  


4、获取输入法打开的状态

[java]  view plain copy
  1. InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);  
  2. boolean isOpen=imm.isActive();//isOpen若返回true,则表示输入法打开  



本文转载自:http://blog.csdn.net/oyangyujun/article/details/47958905

k
粉丝 1
博文 129
码字总数 0
作品 0
朝阳
私信 提问
法院判定百度侵犯搜狗三项专利权 要求停止侵权

  智察网讯 耗时近三年的搜狗与百度的输入法专利大战,终于让搜狗等来了光明。4月9日消息,近日,有着“互联网专利第一案”之称的搜狗诉百度输入法专利侵权系列案件有了一审结果。北京知识...

智察大数据
2018/04/09
0
0
Android 中文api (81)——InputMethod [输入法]

一、结构 public interface InputMethod extends Object android.view.inputmethod.InputMethod 间接子类 AbstractInputMethodService.AbstractInputMethodImpl, InputMethodService.InputMe......

walb呀
2017/12/05
0
0
Objective-C语法之第一个iPhone应用程序的那些事儿(十)

Objective-C语法之第一个iPhone应用程序的那些事儿 Objective-C语法系列在之前的文章中一直在介绍基本的语法的相关知识,但是学习语法的目的还是为了走进iPhone IOS的开发世界。从今以后Obj...

彭博
2012/03/09
388
0
linux下乱码问题

linux下中文字符乱码的问题 对于国内的Linux用户,经常烦恼的一个问题是:系统常常在需要显示中文的时候却显示成了乱码,而由于某些原因,需要英文界面的系统的时候,却苦于系统不能正常输入和显示...

123yph321
2013/04/15
0
0
linux i18n修改,中文版英文版体现

对于国内的Linux用户,经常烦恼的一个问题是:系统常常在需要显示中文的时候却显示成了乱码,而由于某些原因,需要英文界面的系统的时候,却苦于系统 不能正常输入和显示中文.另外,由于大部分主要...

lichao19881026
2014/05/16
41
0

没有更多内容

加载失败,请刷新页面

加载更多

Linux Shell DAY24

61.找文件差异 62.杀进程 63.并发备份数据库 64.监控CDN节点 65.破解字符串 66.判断cpu厂商 找文件差异 题目要求 有两个文件a.txt和b.txt,需求是,把a.txt中有的但b.txt中没有的行找出来,并...

Jerry1101
29分钟前
5
0
img标签使用绝对路径无法显示图片

说明: 图片的磁盘路径斜杠使用:右斜杠"\",而图片的网络路径使用左斜杠"/",注意加以区分。 如果这张图片属于服务器图片或者网络图片,我们必须在Img标签里使用网络路径,只有网络路径才可...

前端老手
29分钟前
4
0
如何画Q版?应该注意什么?

很多人不知道怎么画Q版人物?不知道如何下手?那今日我就整理了一篇画Q版的教程! 这次以二头身为例,首先: 1.画个圆 2.有意识的将这个圆塑造成球体,能够画出球体,决议头部朝向 3.勾线从脸...

热爱画画的我
30分钟前
4
0
Mongodb聚合查询:通过文章的阅读量,评论量,点赞量等计算出一个热度值用于排序

spring data es实现方式: TypedAggregation<Album> agg = Aggregation.newAggregation( Album.class, Aggregation.project("id","albumName","coverImgId").and("countRe......

为何不可1995
33分钟前
4
0
httpclient爬虫爬取汉字拼音等信息

下面是使用httpclient爬虫爬取某个网站的汉字相关信息的实践代码,中间遇到了一些字符格式的问题。之前被同事见过用html解析类来抓取页面信息,而不是像我现在用正则,经常尝试,效果并不好,...

八音弦
37分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部