A. 如何在android开发中对输入法进行显示和隐藏
java">/**
*设置输入法,如果当前页面输入法打开则关闭
*@paramactivity
*/
publicvoidhideInputMethod(Activityactivity){
Viewa=activity.getCurrentFocus();
if(a!=null){
InputMethodManagerimm=(InputMethodManager)activity.getApplicationContext().getSystemService(Context.INPUT_METHOD_SERVICE);
try{
imm.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);
}catch(Exceptione){
e.printStackTrace();
}
}
}
/**
*强制显示输入法
*@paramactivity
*/
publicvoidtoggleSoftInput(Viewview){
try{
InputMethodManagerimm=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view,InputMethodManager.SHOW_FORCED);
}catch(Exceptione){
}
}
以上两个函数,就是显示和隐藏,你直接调用一下即可
B. android输入法开发,最开始编写的时候必须要写的有什么内容
参考开源的输入法程序:
这个是个日语输入法
初步学习:-1个月
1.去电驴上下一份mars的视频。先浅浅的了解下android应用开发、整体架构和思路。mars的视频做的挺不错。
2.在eclipse中导入api demos。在手机/模拟器上运行apidemos,里面的实例非常棒。可以把例子中涉及到项目的地方标注下,然后着重看看这部分的代码.
逐渐深入:-3个月
1.有选择的阅读android api中的Dev Guide部分。
2.阅读android中的resources部分。
上面的文章比较多,也不需要全部阅读。只是在做过初步工作后,有选择性的着重看一些相关内容。相关内容应该不仅仅包括项目直接相关的,还包括一些平台基础知识。这些东西应如何选择是在初步学习阶段中应该明确的。
3.有空上上android相关比较好的社区,看看高手总结。如eoe、bus之类的。
准备阶段:-3个月
阅读开源的项目。
楼下有的朋友也提了一些建议。我觉得都挺好的,到了这个时候就该开始阅读源码进行学习了。
这里的关键在于慢慢扣源码,先找容易看到的类。看着注释慢慢理解,碰到不熟悉的类就查android的api。
阅读是个长期的过程,然后必须要产生一些成果:
a.与输入法相关的关键接口有哪些?关键类有哪些,职责是什么?
b.输入法的架构是怎样的?组件之间如何交互?
c.数据从哪里来?如何进行组织?
3.开发阶段:
迭代开发。从最小的原型开始做起。
最小原型包括:最基本的输入法功能,输入字母,确定输入,显示字典,选择完成输入。最基础的测试数据。
在完善输入法基本功能上迭代开发。包括联想输入,更智能的分词,以及符号和手写识别等。还有ui美化等等。
既然你这边有学c的同学,那么在一些关键瓶颈方面。也可以使用NDK做后续优化。
C. 如何在应用开发android中添加中文输入法
首先你要在手机上装有中文输入法。
如果是程序调用指定的中文输入法就用InputMethodManager.setInputMethod (IBinder token, String id),函数可以在sdk中看相关说明。
如果是手机上设置默认的话,设置->语言和输入法->默认-> 然后在弹出框中选择你想要的输入法。
D. 关于Android中的软键盘
原文链接:彻底搞定Android开发中软键盘的常见问题
软件盘的本质是什么?软键盘其实是一个Dialog。
InputMethodService为我们的输入法创建了一个Dialog,并且将该Dialog的Window的某些参数(如Gravity)进行了设置,使之能够在底部或者全屏显示。当我们点击输入框时,系统对活动主窗口进行调整,从而为输入法腾出相应的空间,然后将该Dialog显示在底部,或者全屏显示。
软键盘显示的调整
Android 定义了一个属性,名字为windowSoftInputMode, 这个属性用于设置Activity主窗口与软键盘的交互模式,用于避免软键盘遮挡内容的问题。我们可以在AndroidManifet.xml中对Activity进行设置。如:android:windowSoftInputMode=”stateUnchanged|adjustPan”。 该属性可选的值有两部分,一部分为软键盘的状态控制,控制软键盘是隐藏还是显示,另一部分是Activity窗口的调整,以便腾出空间展示软键盘。 android:windowSoftInputMode的属性设置必须是下面中的一个值,或一个”state”值加一个”adjust”值的组合,各个值之间用 | 分开。
stateUnspecified-未指定状态 :当我们没有设置android:windowSoftInputMode属性的时候,软件默认采用的就是这种交互方式,系统会根据界面采取相应的软键盘的显示模式。
stateUnchanged-不改变状态 :当前界面的软键盘状态,取决于上一个界面的软键盘状态,无论是隐藏还是显示。
stateHidden-隐藏状态 :当设置该状态时,软键盘总是被隐藏,不管是否有输入的需求。
stateAlwaysHidden-总是隐藏状态 :当设置该状态时,软键盘总是被隐藏,和stateHidden不同的是,当我们跳转到下个界面,如果下个页面的软键盘是显示的,而我们再次回来的时候,软键盘就会隐藏起来。
stateVisible-可见状态 :当设置为这个状态时,软键盘总是可见的,即使在界面上没有输入框的情况下也可以强制弹出来出来。
stateAlwaysVisible-总是显示状态 :当设置为这个状态时,软键盘总是可见的,和stateVisible不同的是,当我们跳转到下个界面,如果下个页面软键盘是隐藏的,而我们再次回来的时候,软键盘就会显示出来。
adjustUnspecified-未指定模式 :设置软键盘与软件的显示内容之间的显示关系。当你跟我们没有设置这个值的时候,这个选项也是默认的设置模式。在这中情况下,系统会根据界面选择不同的模式。
adjustResize-调整模式 :该模式下窗口总是调整屏幕的大小用以保证软键盘的显示空间;这个选项不能和adjustPan同时使用,如果这两个属性都没有被设置, 系统会根据窗口中的布局自动选择其中一个 。
adjustPan-默认模式 :该模式下通过不会调整来保证软键盘的空间,而是采取了另外一种策略,系统会通过布局的移动,来保证用户要进行输入的输入框肯定在用户的视野范围里面,从而让用户可以看到自己输入的内容。
案例
没有滚动布局xml
对于没有滚动控件的布局来说,adjustPan就是默认的设置,比如我们案例应用中的文本输入8,上面的文本输入框123和按钮都会被顶上去,且页面布局不可以滚动。
对于没有滚动控件的布局来说,整个布局会网上偏移(包括标题等)以保证输入框的可见。如果有滚动控件,那么就是内容网上偏移,标题不会动,还可以通关滚动来查看被顶上去的内容,而这点是不可滚动的布局所不具备的
有滚动布局xml
对于有滚动控件的布局,则是采用的adjustResize方式,比如我们案例应用中的文本输入8,上面的文本输入框123和按钮都会被顶上去, 可以通过滚动来查看被顶上去的内容。
** 根据这一原理,我们就可以把开发中遇到的软键盘遮挡页面的问题,利用ScrollView当做根布局,让系统采用adjustResize模式,很好地解决这一问题。**
自动弹出软键盘
有时候需要一进入Activity后就自动弹出软键盘,可以通过设置一个时间函数来实现,具体写法如下:
方法一:
方法二:
有时进入Activity后不希望系统自动弹出软键盘,我们可以按照下面的方法来实现:
方法一:
在AndroidMainfest.xml中选择那个activity,设置windowSoftInputMode属性为adjustUnspecified|stateHidden
方法二:
让EditText失去焦点,使用EditText的clearFocus方法
方法三:
强制隐藏Android输入法窗口
方法四:
EditText始终不弹出软件键盘
EditText设置ScrollView压缩背景图片解决办法
在你的Activity里加上
有时希望根据条件动态关闭软键盘,我们可以使用InputMethodManager类,按照下面的方法来实现:
方法一:
方法二:
强制隐藏软键盘,这个方法倒是很实用。
方法三:
方法四:
在onclick事件下.以下方法可行.(如果是EditText失去焦点/得到焦点,没有效果)
InputMethodManager的具体用法可以参考下面的链接: http://www.apihome.cn/api/android/InputMethodManager.html
使用android:imeOptinos可对Android自带的软键盘进行一些界面上的设置:
android:imeOptions="flagNoExtractUi" //使软键盘不全屏显示,只占用一部分屏幕
同时,这个属性还能控件软键盘右下角按键的显示内容,默认情况下为回车键
android:imeOptions="actionNone" //输入框右侧不带任何提示 android:imeOptions="actionGo" //右下角按键内容为'开始' android:imeOptions="actionSearch" //右下角按键为放大镜图片,搜索 android:imeOptions="actionSend" //右下角按键内容为'发送' android:imeOptions="actionNext" //右下角按键内容为'下一步' android:imeOptions="actionDone" //右下角按键内容为'完成'
同时,可能EditText添加相应的监听器,捕捉用户点击了软键盘右下角按钮的监听事件,以便进行处理。
开发中有个需求是将页面底部的一个按钮顶起,但是开发时发现Android5.0以后的版本设置了adjustResize属性后无法成功顶起。纠结了好久,最后在stackoverflow找到解决方案,那就是在根布局上加上fitsSystemWindow=”true”即可。
这里的fitsSystemWindow具体的作用就是你的**contentview是否忽略actionbar,title,屏幕的底部虚拟按键,将整个屏幕当作可用的空间。 **
正常情况,contentview可用的空间是去除了actionbar,title,底部按键的空间后剩余的可用区域;这个属性设置为true,则忽略,false则不忽略
在edittext上加入Android:imeOptions=”actionSearch”这个属性没响应,最后发现在2.3及以上版本不起作用,解决方案:加上
因为输入法键盘右下角默认的回车键本来就是换行用的,当设置单行后,回车换行就失去作用了,这样就可以设置为搜索、发送、go等等。
E. 安卓手机如何输入中文
问题一:Android手机用什么中文输入法最好 搜狗词库强大但打字有点慢
google 挺好但不支持九宫格
qq按键太亥,词库还可以
触宝太慢,但很有自己的特点,在新版本出来之前不建议使用
网络还算不错
推荐输入法:网络、搜狗
其实用什么输入法还要看个人了,适合自己的才是最好的,自己用什么顺手就用什么咯
问题二:怎样才能让手机输入短信的时候变成中文 如果是智能手机,以下步骤:
打开设置,语言与输入法。
将自己的输入法切换为中文输入法(如搜狗输入法)
确定并应用
如果你手机能够处理的话,下次输入时弹出的就是中文输入法。
ps:一般安卓手机都会配上一些中文输出软件(只要你是在中国买的),如果没有,打开安卓应用市场或咨询安卓客户端。
非智能手机:
如果是非智能手机,就是各种五花八门。如果动不了就是操作有问题,试试*等符号。
问题三:安卓手机没有中文输入法怎么办 若手机无法切换成中文输入法,建议:
1.以3*4键盘切换中文输入法为例:进入设定-语言和输入-三星中文输入法右侧的齿轮图标,进入三星中文输入法设置-选择3*4键盘类型,在使用该输入法时,点击右下角“EN/中”切换即可。
2.请检查使用的是否为第三方输入法,若是,请切换自带三星输入法尝试。
3.若依然不能切换成中文输入法,建议设定-应用程序管理器-全部-三星输入法-清除数据。
4.若无效,请备份手机中数据,然后恢复出厂设置(设定―重置/隐私权/个人―恢复出厂设置)。
若上述方式操作后问题依然存在,请您携带购机发票、包修卡和机器送到三星服务中心检查。
问题四:安卓智能手机,打字不能打中文怎么办??? 在系统设置里改一下或下载一个输入法
问题五:安卓系统手机的输入法怎么弄,怎么都是字母呢,怎么样调回中文 在输入对话框里 长按 就可以更换输入法,自己下载个QQ 搜狗什么的 我个人用的 QQ 反应速度快 手写识别率高 打字框 模仿的 直板手机的 字母三个一键 也可以分开 看你自己使用了。
问题六:安卓手机怎么让输入法变成中文 5分 如果是系统自带的谷歌输入是没有中文的。下个就行,网络,搜狗什么的
问题七:安卓系统的手机如何切换输入法? 4.0系统的在空白地方长按会显示输入法切换。
4.0以后的系统要在手机的下拉菜单那切换。
问题八:Android手机用什么中文输入法最好 目前来说是搜狗输入法
问题九:如何在应用开发android中添加中文输入法 首先你要在手机上装有中文输入法。
如果是程序调用指定的中文输入法就用InputMethodManager.setInputMethod (IBinder token, String id),函数可以在sdk中看相关说明。
如果是手机上设置默认的话,设置->语言和输入法->默认-> 然后在弹出框中选择你想要的输入法。
问题十:搜狗输入法(安卓版)输入首选怎么设置成中文? 5分 状在顶部快捷工具栏点击切换键,即可进行输入法切换菜单,选择想要的输入方式和键盘样式:拼音九键、拼音全键、英文九键、英文全键、笔画和手写。
如果使用实体硬键盘进行输入,那么使用【↑+空格】可进行中英文切换;英文状态下使用【↑+搜索】可在英文输入状态下开启和关闭预测,中文状态下使用【↑+搜索】在笔画输入和拼音输入之间切换。
安卓建议用网络输入法或是讯飞语音。搜狗电脑上好使,但是手机上不是最佳选择