點(diǎn)擊按鈕后,在你的按鈕監(jiān)聽(tīng)方法里面調(diào)用,隱藏鍵盤(pán)的方法即可:

成都服務(wù)器托管,創(chuàng)新互聯(lián)提供包括服務(wù)器租用、雅安機(jī)房托管、帶寬租用、云主機(jī)、機(jī)柜租用、主機(jī)租用托管、CDN網(wǎng)站加速、國(guó)際域名空間等業(yè)務(wù)的一體化完整服務(wù)。電話咨詢:18980820575
InputMethodManager?inputMethodManager?=(InputMethodManager)activity.getApplicationContext().??
getSystemService(Context.INPUT_METHOD_SERVICE);???
EditText?editText?=?(EditText)findViewById(R.id.xxxx);???
inputMethodManager.hideSoftInputFromWindow(editText.getWindowToken(),?0);?//隱藏
工具:android
步驟:
方法一(如果輸入法在窗口上已經(jīng)顯示,則隱藏,反之則顯示)。
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
方法二(view為接受軟鍵盤(pán)輸入的視圖,SHOW_FORCED表示強(qiáng)制顯示)。InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view,InputMethodManager.SHOW_FORCED);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0); //強(qiáng)制隱藏鍵盤(pán)
調(diào)用隱藏系統(tǒng)默認(rèn)的輸入法。((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(WidgetSearchActivity.this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); (WidgetSearchActivity是當(dāng)前的Activity)
獲取輸入法打開(kāi)的狀態(tài)。
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
boolean isOpen=imm.isActive();//isOpen若返回true,則表示輸入法打開(kāi)。
原理:自定義布局的onSizeChanged()方法,在其中增加一個(gè)監(jiān)聽(tīng)接口,當(dāng)軟鍵盤(pán)顯示或隱藏使得布局尺寸發(fā)生改變,就能捕獲到這個(gè)事件。具體方法如下: 首先,在清單文件Manifest.xml中的對(duì)應(yīng)的Activity標(biāo)簽內(nèi)設(shè)置 android:windowSoftInputMode=”adjustResize” 作用是當(dāng)軟鍵盤(pán)顯示或隱藏時(shí),該Activity主窗口總是會(huì)被調(diào)整大小以便留出軟鍵盤(pán)的空間。唯有這樣才能保證布局觸發(fā)onSizeChanged()方法。然后,自定義一個(gè)布局,具體是RelativeLayout、LinearLayout或是其它的,根據(jù)實(shí)際情況而定,自定義的目的是在其onSizeChanged()方法中增加一個(gè)監(jiān)聽(tīng)接口。這里給出一個(gè)自定義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主窗口大小改變時(shí)的回調(diào)接口(本示例中,等價(jià)于軟鍵盤(pán)顯示隱藏時(shí)的回調(diào)接口) */ public interface OnSizeChangedListener { public void onSizeChanged(int w, int h, int oldw, int oldh); } }最后,在程序中使用此接口(xxx.setOnSizeChangedListener(…))即可實(shí)現(xiàn)監(jiān)聽(tīng)鍵盤(pán)隱藏或顯示事件。
Android中判斷軟鍵盤(pán)是否彈出或隱藏可以借助軟鍵盤(pán)顯示和隱藏時(shí),對(duì)主窗口進(jìn)行了重新布局這個(gè)特性來(lái)進(jìn)行偵聽(tīng)。如果我們?cè)O(shè)置的模式為壓縮模式,那么我們可以對(duì)布局的onSizeChanged函數(shù)進(jìn)行跟蹤,如果為平移模式,那么該函數(shù)可能不會(huì)被調(diào)用。
假設(shè)跟布局為線性布局,模式為壓縮模式,我們寫(xiě)一個(gè)例子,當(dāng)輸入法彈出時(shí)隱藏某個(gè)view,輸入法隱藏時(shí)顯示某個(gè)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、設(shè)置軟鍵盤(pán)隱藏的方法:
[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、軟鍵盤(pán)顯示的方法:
[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
以上的版本支持隱藏導(dǎo)航欄,也就是那三個(gè)虛擬的按鍵,本篇經(jīng)驗(yàn)就介紹如何來(lái)隱藏著三個(gè)按鍵。
工具/原料
安卓4.4
以上版本的手機(jī)
方法/步驟
安卓4.4以上版本,增加了虛擬的三個(gè)按鍵,谷歌稱此三個(gè)按鈕為導(dǎo)航欄,這三個(gè)導(dǎo)航欄是可以隱藏起來(lái)的,以節(jié)省更多的屏幕空間。
點(diǎn)擊設(shè)置,進(jìn)入手機(jī)設(shè)置。
步驟閱讀
在設(shè)置中,找到“導(dǎo)航欄可以隱藏”的設(shè)置項(xiàng),將其開(kāi)啟。
開(kāi)啟后,立即生效,點(diǎn)擊返回。可以發(fā)現(xiàn)導(dǎo)航欄左邊多了一個(gè)V形的隱藏按鈕。點(diǎn)擊它即可隱藏導(dǎo)航欄。
隱藏后的效果。
步驟閱讀
如果需要讓導(dǎo)航欄再次出現(xiàn),只需在屏幕底部,向上滑動(dòng)
向上滑動(dòng)之后,導(dǎo)航欄就再次顯示出來(lái)。
名稱欄目:android鍵盤(pán)隱藏,android鍵盤(pán)隱藏上面黑色
本文地址:http://chinadenli.net/article35/dseejpi.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、品牌網(wǎng)站建設(shè)、用戶體驗(yàn)、外貿(mào)建站、網(wǎng)站設(shè)計(jì)、網(wǎng)站營(yíng)銷(xiāo)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)