android輸入法遮擋
A. android怎樣才能讓一個layout始終顯示在前端不被輸入法遮擋
WindowManager windowManager = (WindowManager) getApplicationContext()
.getSystemService(WINDOW_SERVICE);
WindowManager.LayoutParams params = new WindowManager.LayoutParams();
params.type =WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY;
windowManager.addView(view(這里是你的layout), params);
別說輸入法,就是來電話也給你擋在下面。不要這么霸道的話改一下type的值
B. Android的EditText長按只顯示上面的復制粘貼菜單,不要彈出下面的輸入法鍵盤怎麼做
4.0以上的API禁止EditText彈出鍵盤需要這樣寫:
4.0的是setShowSoftInputOnFocus,4.2的是setSoftInputOnFocus。
java">EditTexteditText;
//editText的實例化我不寫了
InputMethodManagerimm=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(e1.getWindowToken(),0);
try{
Class<EditText>cls=EditText.class;
setSoftInputShownOnFocus=cls.getMethod("setShowSoftInputOnFocus",boolean.class);
setSoftInputShownOnFocus.setAccessible(true);
setSoftInputShownOnFocus.invoke(editText,false);
}catch(Exceptione){
e.printStackTrace();
}
並且還要在配置文件裡面加上android:windowSoftInputMode="stateHidden"
4.0以下的可用editText.setInputType(InputType.TYPE_NULL);
或者直接在XML進行屬性設置。
如果對4.0以上系統的操作這句代碼,EditText將會沒有游標。
C. android怎樣控制輸入法的彈出和隱藏
1.讓EditText失去焦點,使用EditText的clearFocus方法
2. 強制隱藏Android輸入法窗口,在IME類中我們通過
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 實例化輸入法控制對象,通過hideSoftInputFromWindow來控制,其中第一個參數綁定的為需要隱藏輸入法的EditText對象,比如imm.hideSoftInputFromWindow(etAndroid123.getWindowToken(), 0);
D. android程序輸入框被輸入法彈出框遮蓋,滑動後留下白色背景,該背景該怎麼去掉。求大神指點
在清單文件AndroidManifest.xml中修改acitivty的windowInputMode為adjustPan即可
E. android輸入法起來後遮擋住"登陸按鈕"怎麼辦adjust只能調整文本框不被擋住,別拷貝別人的答案哦
虛擬鍵盤右上角一般有向下箭頭,點擊隱藏鍵盤,還可以直接點虛擬鍵盤的回車建也能登錄,要不就拉動輸入密碼的那個頁面,鍵盤也會隱藏
F. android editText 輸入法把選項卡頂上去了怎麼辦
在清單文件AndroidManifest.xml中修改acitivty的windowInputMode為adjustPan即可
windowInputMode有以下幾個取值
1.stateUnspecified
中文意思是未指定狀態,當我們沒有設置android:windowSoftInputMode屬性的時候,軟體默認採用的就是這種交互方式,系統會根據界面採取相應的軟鍵盤的顯示模式,比如,當界面上只有文本和按鈕的時候,軟鍵盤就不會自動彈出,因為沒有輸入的必要。
2.stateUnchanged
中文的意思就是狀態不改變的意思,我們應該怎麼理解這句話呢?其實很好理解,就是說,當前界面的軟鍵盤狀態,取決於上一個界面的軟鍵盤狀態。假如當前界面鍵盤是隱藏的,那麼跳轉之後的界面,軟鍵盤也是隱藏的;如果當前界面是顯示的,那麼跳轉之後的界面,軟鍵盤也是顯示狀態。
3.stateHidden
顧名思義,如果我們設置了這個屬性,那麼鍵盤狀態一定是隱藏的,不管上個界面什麼狀態,也不管當前界面有沒有輸入的需求,反正就是不顯示。因此,我們可以設置這個屬性,來控制軟鍵盤不自動的彈出。
4.stateAlwaysHidden
這個屬性也可以讓軟鍵盤隱藏
5.stateVisible
設置為這個屬性,可以將軟鍵盤召喚出來,即使在界面上沒有輸入框的情況下也可以強制出來。
6.stateAlwaysVisible
這個屬性也是可以將鍵盤召喚出來,但是與stateVisible屬性有小小的不同之處。舉個例子,當我們設置為stateVisible屬性,如果當前的界面鍵盤是顯示的,當我們點擊按鈕跳轉到下個界面的時候,軟鍵盤會因為輸入框失去焦點而隱藏起來,當我們再次回到當前界面的時候,鍵盤這個時候是隱藏的。但是如果我們設置為stateAlwaysVisible,我們跳轉到下個界面,軟鍵盤還是隱藏的,但是當我們再次回來的時候,軟鍵盤是會顯示出來的。所以,這個Always就解釋了這個區別,不管什麼情況到達當前界面(正常跳轉或者是上一個界面被用戶返回),軟鍵盤都是顯示狀態。
7.adjustUnspecified
從這個屬性開始,就不是設置軟鍵盤的顯示與隱藏模式了,而是設置軟鍵盤與軟體的顯示內容之間的顯示關系。當沒有設置這個值的時候,這個選項也是默認的設置模式。在這中情況下,系統會根據界面選擇不同的模式。如果界面裡面有可以滾動的控制項,比如ScrowView,系統會減小可以滾動的界面的大小,從而保證即使軟鍵盤顯示出來了,也能夠看到所有的內容。如果布局裡面沒有滾動的控制項,那麼軟鍵盤可能就會蓋住一些內容,
8.adjustResize
這個屬性表示Activity的主窗口總是會被調整大小,從而保證軟鍵盤顯示空間。
9.adjustPan
如果設置為這個屬性,那麼Activity的屏幕大小並不會調整來保證軟鍵盤的空間,而是採取了另外一種策略,系統會通過布局的移動,來保證用戶要進行輸入的輸入框肯定在用戶的失業范圍裡面,從而讓用戶可以看到自己輸入的內容。
G. android在activity中設置頂部欄透明之後,底部的輸入框會被輸入法遮住了,是什麼原因
這好像不是設置頂部沉浸效果的原因吧,在AndroidManifest對應的的Activity中加這個屬性試試
android:windowSoftInputMode="stateVisible|adjustResize"