在網(wǎng)上找了好久,有點(diǎn)?監(jiān)聽軟鍵盤事件,有點(diǎn)?調(diào)用 clearFouse()方法,但是測(cè)試了都沒有!?xml中也找不到相應(yīng)的屬性可以關(guān)閉這個(gè)默認(rèn)行為
專注于為中小企業(yè)提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)臨桂免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千余家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
1 解決之道:在EditText的父級(jí)控件中找一個(gè),設(shè)置成
Android:focusable="true" ?
android:focusableInTouchMode="true"
這樣,就把EditText默認(rèn)的行為截?cái)嗔耍?/p>
LinearLayout?
style="@style/FillWrapWidgetStyle"
android:orientation="vertical"
android:background="@color/black"
android:gravity="center_horizontal"
android:focusable="true"??
android:focusableInTouchMode="true"
ImageView
android:id="@+id/logo"
style="@style/WrapContentWidgetStyle"
android:background="@drawable/dream_dictionary_logo"
/
RelativeLayout?
style="@style/FillWrapWidgetStyle"
android:background="@drawable/searchbar_bg"
android:gravity="center_vertical"
EditText
android:id="@+id/searchEditText"
style="@style/WrapContentWidgetStyle"
android:background="@null"
android:hint="Search"
android:layout_marginLeft="40dp"
android:singleLine="true"
/
/RelativeLayout
/LinearLayout
2 還有一個(gè)方法也可以非常簡(jiǎn)單的實(shí)現(xiàn)這個(gè)功能:
EditText對(duì)象的clearFocus();
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);?
imm.hideSoftInputFromWindow(editMsgView.getWindowToken(), 0);(關(guān)閉軟鍵盤。。。)
3?更多問題解決辦法請(qǐng)參考android學(xué)習(xí)手冊(cè),例子、源碼、文檔全部搞定,采用androidstudo的目錄結(jié)構(gòu),360手機(jī)助手中下載。下面是截圖。
1、在EditText的父布局中的布局文件中設(shè)置這兩行代碼
android:focusable="true"
android:focusableInTouchMode="true"
2、在代碼中設(shè)置EditText焦點(diǎn)通過setFocusable()和setFocusableInTouchMode() 不過這個(gè)好像不怎么管用
3、如果你是不是想跳轉(zhuǎn)到有EditText的界面時(shí)自動(dòng)彈出軟鍵盤的話 可以在功能清單文件(AndroidManifest.xml) 中的相對(duì)應(yīng)activity節(jié)點(diǎn)中設(shè)置軟鍵盤彈出模式
android:windowSoftInputMode="stateAlwaysHidden|adjustPan"
背景: ?之前云閱讀570解決了 ,有聲書播放時(shí)候,短信中斷的問題。 前幾天采薇也有個(gè)類似的問題,? 播放音頻中,收到干擾時(shí)候的處理。(在后臺(tái)播放音頻的時(shí)候,這個(gè)時(shí)候另外的軟件也播放音頻、短信鈴聲? 怎么處理)
解決: 實(shí)現(xiàn)AudioManager.OnAudioFocusChangeListener接口實(shí)現(xiàn)onAudioFocusChange(int focusChange)方法
AUDIOFOCUS_GAIN:你已經(jīng)獲得音頻焦點(diǎn);
AUDIOFOCUS_LOSS:你已經(jīng)失去音頻焦點(diǎn)很長(zhǎng)時(shí)間了,必須終止所有的音頻播放。因?yàn)殚L(zhǎng)時(shí)間的失去焦點(diǎn)后,不應(yīng)該在期望有焦點(diǎn)返回,這是一個(gè)盡可能清除不用資源的好位置。例如,應(yīng)該在此時(shí)釋放MediaPlayer對(duì)象;
AUDIOFOCUS_LOSS_TRANSIENT:這說明你臨時(shí)失去了音頻焦點(diǎn),但是在不久就會(huì)再返回來。 此時(shí),你必須終止所有的音頻播放,但是保留你的播放資源,因?yàn)榭赡懿痪镁蜁?huì)返回來。
AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK:這說明你已經(jīng)臨時(shí)失去了音頻焦點(diǎn),但允許你安靜的播放音頻(低音量) ,而不是完全的終止音頻播放。
主要就是 對(duì)于3 與 4的處理。
三種方法可以試試。
1、button.setFocusable(false);
2、如果只是為了進(jìn)入的時(shí)候不要讓某個(gè)控件得到焦點(diǎn),可以設(shè)置焦點(diǎn)到整個(gè)Layout。
3、也可以在屏幕的空白處 就是你的deittext的父容器(例如你把文本框放在了LinearLayout布局中)可以給父容器添加事件使其失去焦點(diǎn)。