我在做页面时自己做了一组按键和一个文本框,我想让在点击文本框时不弹出安卓系统自带的
输入法或者是能把系统自带的输入法盖到我做的按键下面,补充一点我用的是TableLayout布局做的按钮
里面套TableRow在套button。
输入法或者是能把系统自带的输入法盖到我做的按键下面,补充一点我用的是TableLayout布局做的按钮
里面套TableRow在套button。
解决方案 »
- logcat 的log里面 没有内存堆栈的信息 。
- 如何获取摄像头的视频流呢?
- Android 查看数据库 file is encrypted or is not a database
- timer.cancel()之后,用什么方法能让计时器再次使用呢?
- eclipse中android 控件怎么不能拖动
- dev/graphics/fb0 截图出来为什么是厂商logo
- 求当android sdk manager 没有办法用时的替代解决方法
- android使用Mina开发遇到一个很简单很初级的问题
- 安卓用ffmepg软解h264码流时花屏是什么原因
- slidingmenu能否实现菜单页在内容页上方,而不是把内容页挤到一边去????
- android锁屏机制??
- ActivityManager.MemoryInfo 小问题
1、重写EditText的onFocusChanged方法,就是在点击的时候隐藏输入法。
@Override
protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) {
super.onFocusChanged(focused, direction, previouslyFocusedRect);
final InputMethodManager imm = ((InputMethodManager) getContext()
.getSystemService(Context.INPUT_METHOD_SERVICE));
if (imm != null && imm.isActive(this)) {
imm.hideSoftInputFromWindow(getApplicationWindowToken(), 0);
}
}
————这个方法有点弊端,有时候点击后输入法会闪现一下。
2、需要用到反射,调用EditText的setShowSoftInputOnFocus(false)方法,因此这个方法是sdk隐藏的。
Method method;
try {
method = Class.forName("android.view.EditText").getMethod("setShowSoftInputOnFocus"
, Boolean.class);
boolean show = false;
method.invoke(this.getClass(), show);
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
楼主试试!