Android没有输入焦点类控件的输入法调用

转载 2013年12月03日 21:36:04
本文转自:http://blog.csdn.net/veyan1314/article/details/6399485


本文对应源码下载地址:

http://download.csdn.net/detail/kyrinleo/6672569

在Android系统上,切换到有输入焦点的控件时会自动弹出键盘,如TextView,TextField等。
而那些没有输入焦点的控件则不会,所以没法输入。
 s
本文将以ImageView为例,介绍如何在没有输入焦点的控件上弹出键盘,并且截获输入的字符。
 
1)弹出键盘
增加一个按钮,或者在控件的点击事件中加入以下代码:
  1. InputMethodManager input = (InputMethodManager)getContext().getSystemService(Context.INPUT_METHOD_SERVICE);//得到InputMethodManager。

  2. input.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);

2)扩展BaseInputConnection类,并通过ImageView的onCreateInputConnection()接口进行加载:

  1. public class XXXXInputConnection extends BaseInputConnection{
  2.   public boolean commitText(CharSequence text, int newCursorPosition) {
  3.       //提交字符到需要输入的控件,可在此次监听输入的字符值
  4.   }
  5. }

 

  1. public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
  2. /*在此处可设置outAttrs定制键盘的类型*/
  3.         return new XXXXInputConnection(this, false);
  4.     }

3) 为了让系统能调用到ImageView的onCreateInputConnection()接口,必须把ImageView对象的属性设置如下:

  1. setFocusable(true);
  2. setFocusableInTouchMode(true);

相关文章推荐

Android:常用知识篇之 EditText和输入法相关的问题

在做Android应用的时候EditText是个非常常用的控件,但是经常会出现和输入法相关的问题,所以我就搜索了一些问题的解决方法, 基本上都能够把问题处理掉,本文章就整理了几个会遇到的问题以及相应的...

Android没有输入焦点类控件的输入法调用

http://blog.csdn.net/veyan1314/article/details/6399485 在Android系统上,切换到有输入焦点的控件时会自动弹出键盘,如TextView,...

Android中EditTex焦点设置和弹不弹出输入法的问题

今天编程碰到了一个问题:有一款平板,打开一个有EditText的Activity会默认弹出输入法。为了解决这个问题就深入研究了下android中焦点Focus和弹出输入法的问题。在网上看了些例子都不够...

Android中EditTex焦点设置和弹不弹出输入法的问题

今天编程碰到了一个问题:有一款平板,打开一个有EditText的Activity会默认弹出输入法。为了解决这个问题就深入研究了下android中焦点Focus和弹出输入法的问题。在网上看了些例子都不够...

Android中EditText点击获得焦点后无法显示输入法键盘

【背景】 android中EditText的Enable已经设置为True了,表示可以被编辑, 但是点击输入框,获得焦点后,无法显示输入法,导致无法输入内容。 比如: Desc...

Android让EditText失去焦点避免自动弹出输入法

如果一进去activity,EditText就获取焦点,弹出输入法界面,无疑是很影响美观的。关于让EditText失去焦点,网上比较多的做法是添加一个visibility=gone的Textview....

Android EditText不弹出输入法总结,焦点问题的总结

一、如果页面有EditText,并且我们想要进入这个页面的时候默认弹出输入法,可以这样设置这个属相:android:windowSoftInputMode=stateVisible,这样就会默认弹起输...

Android 解决输入法遮挡布局控件的问题

文章说明:本文章核心解决方案来自这里 戳我戳我   ,本文章主要对原方法的小修改,以及使用时遇到的一些问题的解决分享。                 /** * 布局在输入法之上 ...

Android之解决输入法软键盘弹出挤压屏幕或覆盖控件问题

最近在最Android开发过程中,出现一个问题:一个界面上有文字输入框,当进行输入时,输入法软键盘会弹出挤压屏幕界面或者覆盖控件。 解决办法是:使用Window的setSoftInputMode()...

Android学习笔记——解决设置了android:layout_alignParentBottom="true"的控件会被弹出的输入法顶上去的问题

写在前面:在项目开发当中有时会碰到许多奇奇怪怪的问题,这次是碰上了弹出输入法对界面造成影响的问题。一、出现问题 先来看看出现问题的场景: 这个界面整体是由若干个EditText输入框和两...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)