国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Android EditText的setOnEditorActionListener方法——監(jiān)聽軟鍵盤按鍵

這篇具有很好參考價(jià)值的文章主要介紹了Android EditText的setOnEditorActionListener方法——監(jiān)聽軟鍵盤按鍵。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1、控件EditText的setOnEditorActionListener方法的使用

setOnEditorActionListener這個(gè)方法,并不是在我們點(diǎn)擊EditText的時(shí)候觸發(fā),也不是在我們對(duì)EditText進(jìn)行編輯時(shí)觸發(fā),而是在我們編輯完之后點(diǎn)擊軟鍵盤上的各種鍵才會(huì)觸發(fā)。

通過 布局文件 中的imeOptions可以控制軟件盤右下角的按鈕顯示為不同按鈕。所以和EditorInfo搭配起來可以實(shí)現(xiàn)各種軟鍵盤的功能。
imeOptions=”actionUnspecified” –> EditorInfo.IME_ACTION_UNSPECIFIED
imeOptions=”actionNone” –> EditorInfo.IME_ACTION_NONE
imeOptions=”actionGo” –> EditorInfo.IME_ACTION_GO
imeOptions=”actionSearch” –> EditorInfo.IME_ACTION_SEARCH
imeOptions=”actionSend” –> EditorInfo.IME_ACTION_SEND
imeOptions=”actionNext” –> EditorInfo.IME_ACTION_NEXT
imeOptions=”actionDone” –> EditorInfo.IME_ACTION_DONE

布局中定義一個(gè)EditText控件

 <EditText
        android:id="@+id/ET_phonenumber"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@id/buttonAdd"
        android:hint="@string/enter_new_note" 
        android:imeOptions="actionDone"// 這里和onEditorAction中actionId對(duì)應(yīng)。
        android:inputType="text"/>

添加setOnEditorActionListener方法

ET_phonenumber.setOnEditorActionListener(new OnEditorActionListener() {  
            @Override  
            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {  
               if (actionId == EditorInfo.IME_ACTION_DONE) {   
                // 按下完成按鈕,這里和上面imeOptions對(duì)應(yīng)
                text.setText("Editing EditorInfo.IME_ACTION_DONE");  
                return false;   //返回true,保留軟鍵盤。false,隱藏軟鍵盤
                }
            }  
        });  

2、 android 軟件盤事件響應(yīng):android: imeOptions 、KeyEvent、android: inputType

android 軟件盤事件響應(yīng):
在android中,有時(shí)需要對(duì)EditText實(shí)現(xiàn)軟件盤監(jiān)聽的場景。當(dāng)android按下軟鍵盤的時(shí)候,響應(yīng)完成、發(fā)送、搜索或者其他事件。
Google 提供了 EditorInfo、KeyEvent 的一些方法,能夠?qū)崿F(xiàn)我們需要的功能。詳細(xì)可研究:EditorInfo.class 和 KeyEvent.class.

2.1 EditorInfo

把EditText的ImeOptions屬性設(shè)置成不同的值,Enter鍵上可以顯示不同的文字或圖案。
actionNone :回車鍵,按下后光標(biāo)到下一行
actionGo : Go
actionSearch : 一個(gè)放大鏡
actionSend : Send
actionNext : Next
actionDone : Done,隱藏軟鍵盤,即使不是最后一個(gè)文本輸入框

監(jiān)聽方法:

private final EditText.OnEditorActionListener editorActionListener =
           new TextView.OnEditorActionListener() {
               @Override
               public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                   if (actionId == KeyEvent.ACTION_DOWN || actionId == EditorInfo.IME_ACTION_DONE) {
                       //業(yè)務(wù)代碼
                       haoMent.createTest(Test.getId(), v.getText().toString());
                       UiUtils.hideSoftKeyboard(getApplicationContext(), haoTest.this);
                       v.setText("");
                       v.clearFocus();
                       handler.post(updateView);
                   }
                   return true;
               }
          };
2.2 KeyEvent

如果手機(jī)的輸入法不是內(nèi)置輸入法,而是其他第三方輸入法,那么可能會(huì)發(fā)生軟件盤回車鍵無響應(yīng)的問題。為了防止該類事情,響應(yīng)的其KeyEvent。

在代碼中添加事件響應(yīng):文章來源地址http://www.zghlxwxcb.cn/news/detail-682747.html

 
inputKey = (EditText) findViewById(R.id.contactSearch_editText);
inputKey.addTextChangedListener(watcher);
 
inputKey.setOnKeyListener(new View.OnKeyListener() {
@Override
  public boolean onKey(View v, int keyCode, KeyEvent event) {
    
 
  if (KeyEvent.KEYCODE_ENTER == keyCode && event.getAction() == KeyEvent.ACTION_DOWN) {
    handler.post(updateView);
    return true;
  }
  return false;
  }
});
//響應(yīng)鍵盤內(nèi)容
public TextWatcher watcher = new TextWatcher() {
 
  @Override
  public void beforeTextChanged(CharSequence charSequence, int i, int i2,int i3) {
 
  }
 
  @Override
  public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
 
  }
 
  @Override
  public void afterTextChanged(Editable editable) {
 
  handler.post(updateView);
 
  }
};
2.3 android 輸入類型:android:inputType
android:inputType="none"--輸入普通字符
android:inputType="text"--輸入普通字符
android:inputType="textCapCharacters"--輸入普通字符
android:inputType="textCapWords"--單詞首字母大小
android:inputType="textCapSentences"--僅第一個(gè)字母大小
android:inputType="textAutoCorrect"--前兩個(gè)自動(dòng)完成
android:inputType="textAutoComplete"--前兩個(gè)自動(dòng)完成
android:inputType="textMultiLine"--多行輸入
android:inputType="textImeMultiLine"--輸入法多行(不一定支持)
android:inputType="textNoSuggestions"--不提示
android:inputType="textUri"--URI格式
android:inputType="textEmailAddress"--電子郵件地址格式
android:inputType="textEmailSubject"--郵件主題格式
android:inputType="textShortMessage"--短消息格式
android:inputType="textLongMessage"--長消息格式
android:inputType="textPersonName"--人名格式
android:inputType="textPostalAddress"--郵政格式
android:inputType="textPassword"--密碼格式
android:inputType="textVisiblePassword"--密碼可見格式
android:inputType="textWebEditText"--作為網(wǎng)頁表單的文本格式
android:inputType="textFilter"--文本篩選格式
android:inputType="textPhonetic"--拼音輸入格式
android:inputType="number"--數(shù)字格式
android:inputType="numberSigned"--有符號(hào)數(shù)字格式
android:inputType="numberDecimal"--可以帶小數(shù)點(diǎn)的浮點(diǎn)格式
android:inputType="phone"--撥號(hào)鍵盤
android:inputType="datetime"
android:inputType="date"--日期鍵盤
android:inputType="time"--時(shí)間鍵盤
密碼框?qū)傩?android:password="true"   讓EditText顯示的內(nèi)容自動(dòng)為星號(hào),輸入時(shí)內(nèi)容會(huì)在1秒內(nèi)變成*字樣。

純數(shù)字 android:numeric="true"      讓輸入法自動(dòng)變?yōu)閿?shù)字輸入鍵盤,同時(shí)僅允許0-9的數(shù)字輸入

僅允許 android:capitalize="haoTest"   僅允許接受輸入haoTest,一般用于密碼驗(yàn)證

android:editable="false"         設(shè)置EditText不可編輯

android:singleLine="true"        強(qiáng)制輸入的內(nèi)容在單行

android:ellipsize="end"         自動(dòng)隱藏尾部溢出數(shù)據(jù),一般用于文字內(nèi)容過長一行無法全部顯示時(shí)

到了這里,關(guān)于Android EditText的setOnEditorActionListener方法——監(jiān)聽軟鍵盤按鍵的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Vue頁面監(jiān)聽 鍵盤按鍵

    1、監(jiān)聽方法 2、在mounted 鉤子函數(shù)中調(diào)用 3、組合建 鍵盤keyCode:https://www.toptal.com/developers/keycode/for/arrow-left

    2024年02月15日
    瀏覽(22)
  • android 點(diǎn)擊輸入框editText后點(diǎn)擊textview會(huì)彈出軟鍵盤問題解決

    在 Android 中,當(dāng)一個(gè) EditText 或其它可以輸入文本的控件獲取焦點(diǎn)時(shí),系統(tǒng)會(huì)自動(dòng)彈出軟鍵盤以便用戶輸入。當(dāng)軟鍵盤彈出后,點(diǎn)擊其它控件,比如 TextView,也會(huì)觸發(fā) EditText 失去焦點(diǎn)的事件,從而導(dǎo)致軟鍵盤關(guān)閉。這是 Android 系統(tǒng)默認(rèn)的行為。 但是,在某些情況下,用戶希望

    2024年02月15日
    瀏覽(28)
  • Vue中 如何監(jiān)聽鍵盤事件中的按鍵

    Vue中 如何監(jiān)聽鍵盤事件中的按鍵

    在Web前端開發(fā)中,鍵盤事件的處理是非常常見的需求之一。而在Vue框架中,如何監(jiān)聽鍵盤事件中的按鍵是一個(gè)相對(duì)簡單但又很實(shí)用的功能。本文將為你介紹如何在Vue中監(jiān)聽鍵盤事件,并演示一些常用的按鍵操作。 首先,在Vue中監(jiān)聽鍵盤事件的方式有兩種:一種是直接在DOM元素

    2024年02月20日
    瀏覽(24)
  • Qt鍵盤事件處理——如何在Qt中監(jiān)聽按鍵操作

    Qt鍵盤事件處理——如何在Qt中監(jiān)聽按鍵操作 在Qt中,使用鍵盤是很常見的操作。如何通過代碼來實(shí)現(xiàn)鍵盤事件的監(jiān)聽和響應(yīng)呢?本文將詳細(xì)介紹在Qt中如何監(jiān)聽鍵盤事件,并實(shí)現(xiàn)一些基本的按鍵操作。 在Qt中,所有的鍵盤事件都被封裝成了一個(gè)QKeyEvent對(duì)象,我們只需要在需要

    2024年02月11日
    瀏覽(25)
  • Android 鍵盤監(jiān)聽 鍵盤展開/收起監(jiān)聽

    Android 鍵盤的展開與收起一直是個(gè)很遭人詬病的東西 方法各式各樣都有,但是基本都不是很好用,有各種限制 這里編寫了一個(gè)優(yōu)雅地實(shí)現(xiàn)方式,利用屏幕實(shí)際高度與顯示區(qū)域的高度對(duì)比可以優(yōu)雅地判斷出是否彈出鍵盤. 眾所周知鍵盤是會(huì)侵占實(shí)際應(yīng)用的顯示區(qū)域,導(dǎo)致實(shí)際顯示區(qū)域

    2024年02月12日
    瀏覽(21)
  • Pygame中獲取鍵盤按鍵的方法

    Pygame中獲取鍵盤按鍵的方法

    在Pygame中,將用戶對(duì)游戲的操作叫做“事件”。鍵盤按鍵是一種事件,鼠標(biāo)點(diǎn)擊和游戲手柄的輸入也是一種事件。在Pygame的子模塊locals中,對(duì)這些事件進(jìn)行了定義。當(dāng)用戶通過鍵盤、鼠標(biāo)或者游戲手柄對(duì)游戲進(jìn)行操作后,產(chǎn)生的這些事件都會(huì)被放在隊(duì)列中。 在Pygame中獲取按鍵

    2024年02月15日
    瀏覽(17)
  • Pygame中監(jiān)控鍵盤按鍵的方法

    Pygame中監(jiān)控鍵盤按鍵的方法

    在Pygame中,將用戶對(duì)游戲的操作叫做“事件”。鍵盤按鍵是一種事件,鼠標(biāo)點(diǎn)擊和游戲手柄的輸入也是一種事件。在Pygame的子模塊locals中,對(duì)這些事件進(jìn)行了定義。當(dāng)用戶通過鍵盤、鼠標(biāo)或者游戲手柄對(duì)游戲進(jìn)行操作后,產(chǎn)生的這些事件都會(huì)被放在隊(duì)列中。 在Pygame中獲取按鍵

    2024年02月07日
    瀏覽(18)
  • EditText不顯示系統(tǒng)鍵盤,可用來顯示自定義的鍵盤

    EditText不顯示系統(tǒng)鍵盤,可用來顯示自定義的鍵盤

    系統(tǒng)鍵盤 包含普通鍵盤和現(xiàn)在很多ROM定制的密碼安全鍵盤 調(diào)用已下方法即可解決: https://developer.android.google.cn/reference/android/widget/TextView#setShowSoftInputOnFocus(boolean) 但是,此方法是API 21Android 5.0加入的, 所以為了兼容低版本, 建議使用已下方法: ?public static final boolean notShowSoftInput

    2024年04月10日
    瀏覽(20)
  • android系統(tǒng)中定義的按鍵碼(包含鍵盤,游戲手柄,TV遙控器)

    數(shù)據(jù)來源:android sdk. KEYCODE_UNKNOWN???????? 0 KEYCODE_SOFT_LEFT?????? 1 KEYCODE_SOFT_RIGHT????? 2 KEYCODE_HOME??????????? 3 KEYCODE_BACK??????????? 4 KEYCODE_CALL??????????? 5 KEYCODE_ENDCALL???????? 6 KEYCODE_0?????????????? 7 KEYCODE_1?????????????? 8 KEYCODE_2?

    2024年02月12日
    瀏覽(21)
  • Android 全局監(jiān)聽軟鍵盤彈起隱藏 動(dòng)態(tài)修改布局并適配無限循環(huán)的問題

    要在 Android 應(yīng)用中全局檢測軟鍵盤的彈起,您可以使用 ViewTreeObserver.OnGlobalLayoutListener 監(jiān)聽器來監(jiān)聽布局樹的變化。當(dāng)軟鍵盤彈起或隱藏時(shí),布局樹會(huì)發(fā)生變化,因此您可以在監(jiān)聽器中捕獲這些變化。 在上面的代碼中, rootView 是您布局的根視圖,您需要將其替換為您實(shí)際布局

    2024年02月11日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包