當前位置:首頁 » 安卓系統 » android輸入法自動彈出

android輸入法自動彈出

發布時間: 2025-01-30 12:57:39

① Android中EditTex焦點設置和彈不彈出輸入法的問題

在網上看了些例子都不夠全面,在這里全面總結下。
一:EditText為什麼會默認彈出輸入法?

同樣的代碼,碰到有EditText控制項的界面時有的機子會彈出輸入法,有的機子不會彈出。不好意思,這問題我也一頭霧水,誰知道可以告訴我,否則我就把這個問題留下來,以後研究android源碼時再搞個清楚。但是...我有解決方案。

二:默認彈出和默認關閉輸入法的解決方案。

1.默認關閉,不至於進入Activity就打開輸入法,影響界面美觀。

①在布局文件中,在EditText前面放置一個看不到的LinearLayout,讓他率先獲取焦點:
<LinearLayout

android:focusable="true"

android:focusableInTouchMode="true"

android:layout_width="0px"

android:layout_height="0px"/>
②方法二:先看一個屬性android:inputType:指定輸入法的類型,int類型,可以用|選擇多個。取值可以參考:android.text.InputType類。取值包括:text,textUri,
phone,number,等.

Android SDK中有這么一句話「If
the given content type is TYPE_NULL
then a soft keyboard will not be displayed for this text view」,

先將EditText的InputType改變為TYPE_NULL,輸入法就不會彈出.然後再設置監聽,再重新設置它的InputType.
editText.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
int inType = editText.getInputType(); // backup the input type
editText.setInputType(InputType.TYPE_NULL); // disable soft input
editText.onTouchEvent(event); // call native handler
editText.setInputType(inType); // restore input type
return true;
}
});
2.默認彈出。有時候按照需求可能要求默認彈出輸入法。方案如下:
EditText titleInput = (EditText) findViewById(R.id.create_edit_title);titleInput.setFocusable(true);

titleInput.requestFocus();
onFocusChange(titleInput.isFocused());

private void onFocusChange(boolean hasFocus)
{
final boolean isFocus = hasFocus;
(new Handler()).postDelayed(new Runnable() {
public void run() {
InputMethodManager imm = (InputMethodManager)
titleInput.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
if(isFocus)
{
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
}
else
{
imm.hideSoftInputFromWindow(titleInput.getWindowToken(),0);
}
}
}, 100);
}
轉載

② android dialog 怎樣自動彈出輸入法

在Dialog顯示以後,讓可編輯的控制項requestFocus一下,這樣,就可以自動彈出輸入法了!

安卓手機輸入法老自動切換成默認的怎麼辦

可以將手機默認輸入法改成所需的輸入法。方法:

在「設置」中,找到「語言和輸入法」,點擊

在「鍵盤和輸入法」一欄找到「默認」,點擊打開

在所有跳出的已安裝輸入法中選擇所需的輸入法,點擊即可完成設置

④ android怎樣控制輸入法的彈出和隱藏

1.讓EditText失去焦點,使用EditText的clearFocus方法
2. 強制隱藏Android輸入法窗口,在IME類中我們通過
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 實例化輸入法控制對象,通過hideSoftInputFromWindow來控制,其中第一個參數綁定的為需要隱藏輸入法的EditText對象,比如imm.hideSoftInputFromWindow(etAndroid123.getWindowToken(), 0);

⑤ android裡面怎樣強制彈出鍵盤啊

Android軟鍵盤強制彈出及隱藏輸入法的方法:

  • 很多應用中對於一個界面比如進入搜索界面或者修改信息等等情況,為了用戶體驗應該自動彈出軟鍵盤而不是讓用戶主動點擊輸入框才彈出(因為用戶進入該界面必然是為了更改信息)。具體實現這種效果的代碼如下:

java代碼

EditTexteditText.setFocusable(true);

editText.setFocusableInTouchMode(true);

editText.requestFocus();

InputMethodManager inputManager =

(InputMethodManager)editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);

inputManager.showSoftInput(editText,0);

  • 首先要對指定的輸入框請求焦點。然後調用輸入管理器彈出軟鍵盤。

    • 警告:對於剛跳到一個新的界面就要彈出軟鍵盤的情況上述代碼可能由於界面為載入完全而無法彈出軟鍵盤。此時應該適當的延遲彈出軟鍵盤如998毫秒(保證界面的數據載入完成)。實例代碼如下:

    java代碼:

    Timer timer =newTimer();

    timer.schele(newTimerTask()

    {

    publicvoidrun()

    {

    InputMethodManager inputManager =

    (InputMethodManager)editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);

    inputManager.showSoftInput(editText,0);

    }

    },

    998);


⑥ 如何實現android EditText允許輸入字母和數字,同時默認彈出數字鍵盤

這個問題看似簡單,不過由於Android輸入法的開放性,許多輸入法相關的參數設置是由第三方輸入法來實現的,而第三方輸入法眾多、實現不一,導致這個問題變得很復雜。
結論是,目前來看,並沒有直接的方法,可以對所有輸入法實現上述需求。
不過針對這個問題,我們有以下幾種處理方案:

設置android:digits屬性,允許輸入數字和字母。
設置android:inputType為"number",將鍵盤切換為數字鍵盤。
這里的關鍵是,雖然單獨設置android:inputType="number"時,只允許輸入數字;但同時設置android:inputType和android:digits時,允許輸入的字元是以android:digits為準的。

當輸入法本身的UI允許在數字鍵盤、字母鍵盤間切換時,該方案是有效的;但是一些輸入法的數字鍵盤不能切換到字母鍵盤,該方案失效;特別是,Android5.0的原生輸入法就是如此,數字鍵盤UI沒有提供切換到其他鍵盤的按鈕。

雖然該方案對一些輸入法(尤其是英文輸入法)無效,但是中文輸入法基本都是有效的。如果APP僅在國內用的,這個方案夠用了

方案一失效的主要原因是,輸入法界面中沒有提供切換鍵盤的按鍵,所以我們可以自己添上按鍵。
帶來的問題是,自己添加按鍵,很難與輸入法保持統一的UI風格;而當輸入法本身有鍵盤切換按鍵時,這個方案是畫蛇添足,既怪異又不美觀。 所以這個方案在UI上有嚴重缺陷,並不實用。
效果圖如下:

Activity如下:

activity_main.xml如下:

自定義鍵盤可以徹底解決問題,是最完美的方案;但是復雜度有點高。

默認彈出數字鍵盤真的有那麼重要麼?沒有的話,乾脆不要折騰了,StackOverflow上那麼多人已經證明這個問題無完美解了。

⑦ 為什麼android手機按菜單鍵老出現輸入法界面

長按鍵盤界面的「拼」字鍵,就能在彈出的菜單中選擇切換手寫和筆畫功能了。點擊或按住不放虛擬鍵盤左下角的「英文」,就會彈出輸入法了。 點擊Y

⑧ android4.4 framework層怎樣阻止彈出軟鍵盤(輸入法)

我建議你先下載一個任意的第三方輸入法 然後按照步驟安裝 屏蔽原機自帶輸入法 然後刪除第三方輸入法 這時候 你再打開要輸入的一個界面 游標點擊空白處 你會發現沒有任何軟鍵盤彈出 希望對你有幫助

熱點內容
英雄聯盟手遊走a腳本 發布:2025-01-31 01:20:05 瀏覽:93
跳腳本義 發布:2025-01-31 01:05:05 瀏覽:847
陰陽師文件夾是哪個 發布:2025-01-31 00:48:01 瀏覽:551
電腦如何快速進入配置 發布:2025-01-31 00:34:51 瀏覽:745
什麼是住房公積金查詢密碼 發布:2025-01-31 00:33:25 瀏覽:775
java上機題 發布:2025-01-31 00:33:12 瀏覽:594
壓縮機S5 發布:2025-01-31 00:28:17 瀏覽:847
安卓扁頭充電線長什麼樣 發布:2025-01-31 00:18:38 瀏覽:315
ecc簽名演算法 發布:2025-01-31 00:18:30 瀏覽:666
打字軟體蘋果和安卓哪個好用 發布:2025-01-31 00:15:04 瀏覽:241