扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
点击按钮后,在你的按钮监听方法里面调用,隐藏键盘的方法即可:
成都服务器托管,创新互联提供包括服务器租用、雅安机房托管、带宽租用、云主机、机柜租用、主机租用托管、CDN网站加速、国际域名空间等业务的一体化完整服务。电话咨询:18980820575
InputMethodManager inputMethodManager =(InputMethodManager)activity.getApplicationContext().
getSystemService(Context.INPUT_METHOD_SERVICE);
EditText editText = (EditText)findViewById(R.id.xxxx);
inputMethodManager.hideSoftInputFromWindow(editText.getWindowToken(), 0); //隐藏
工具:android
步骤:
方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示)。
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
方法二(view为接受软键盘输入的视图,SHOW_FORCED表示强制显示)。InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view,InputMethodManager.SHOW_FORCED);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0); //强制隐藏键盘
调用隐藏系统默认的输入法。((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(WidgetSearchActivity.this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); (WidgetSearchActivity是当前的Activity)
获取输入法打开的状态。
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
boolean isOpen=imm.isActive();//isOpen若返回true,则表示输入法打开。
原理:自定义布局的onSizeChanged()方法,在其中增加一个监听接口,当软键盘显示或隐藏使得布局尺寸发生改变,就能捕获到这个事件。具体方法如下: 首先,在清单文件Manifest.xml中的对应的Activity标签内设置 android:windowSoftInputMode=”adjustResize” 作用是当软键盘显示或隐藏时,该Activity主窗口总是会被调整大小以便留出软键盘的空间。唯有这样才能保证布局触发onSizeChanged()方法。然后,自定义一个布局,具体是RelativeLayout、LinearLayout或是其它的,根据实际情况而定,自定义的目的是在其onSizeChanged()方法中增加一个监听接口。这里给出一个自定义RelativeLayout布局代码:public class CustomRelativeLayout extends RelativeLayout {private OnSizeChangedListener listener;public CustomRelativeLayout(Context context) { super(context); }public CustomRelativeLayout(Context context, AttributeSet attrs) { super(context, attrs); }@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); }@Override protected void onLayout(boolean changed, int l, int t, int r, int b) { super.onLayout(changed, l, t, r, b); }@Override protected void onSizeChanged(int w, int h, int oldw, int oldh) {Log.d(TAG.CUSTOM_VIEW, “onSizeChanged”); super.onSizeChanged(w, h, oldw, oldh); if (listener != null) { listener.onSizeChanged(w, h, oldw, oldh); } }public void setOnSizeChangedListener(OnSizeChangedListener listener) { this.listener = listener; }/** * Activity主窗口大小改变时的回调接口(本示例中,等价于软键盘显示隐藏时的回调接口) */ public interface OnSizeChangedListener { public void onSizeChanged(int w, int h, int oldw, int oldh); } }最后,在程序中使用此接口(xxx.setOnSizeChangedListener(…))即可实现监听键盘隐藏或显示事件。
Android中判断软键盘是否弹出或隐藏可以借助软键盘显示和隐藏时,对主窗口进行了重新布局这个特性来进行侦听。如果我们设置的模式为压缩模式,那么我们可以对布局的onSizeChanged函数进行跟踪,如果为平移模式,那么该函数可能不会被调用。
假设跟布局为线性布局,模式为压缩模式,我们写一个例子,当输入法弹出时隐藏某个view,输入法隐藏时显示某个view。
public class ResizeLayout extends LinearLayout{
private OnResizeListener mListener;
public interface OnResizeListener {
void OnResize(int w, int h, int oldw, int oldh);
}
public void setOnResizeListener(OnResizeListener l) {
mListener = l;
}
public ResizeLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh);
if (mListener != null) {
mListener.OnResize(w, h, oldw, oldh);
}
}
}
android hideKeyBoard() 方法如下:
1、设置软键盘隐藏的方法:
[java] view plaincopy
public static void hideKeyboard(Context context, View view) {
InputMethodManager imm = (InputMethodManager) context
.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
2、软键盘显示的方法:
[java] view plaincopy
public static void showKeyboard(Context context, View view){
InputMethodManager imm = (InputMethodManager) context
.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view, 0);
}
安卓
4.4
以上的版本支持隐藏导航栏,也就是那三个虚拟的按键,本篇经验就介绍如何来隐藏着三个按键。
工具/原料
安卓4.4
以上版本的手机
方法/步骤
安卓4.4以上版本,增加了虚拟的三个按键,谷歌称此三个按钮为导航栏,这三个导航栏是可以隐藏起来的,以节省更多的屏幕空间。
点击设置,进入手机设置。
步骤阅读
在设置中,找到“导航栏可以隐藏”的设置项,将其开启。
开启后,立即生效,点击返回。可以发现导航栏左边多了一个V形的隐藏按钮。点击它即可隐藏导航栏。
隐藏后的效果。
步骤阅读
如果需要让导航栏再次出现,只需在屏幕底部,向上滑动
向上滑动之后,导航栏就再次显示出来。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流