日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

androidEditTextinputType及android:imeOptions=”actionDone”(转)

發(fā)布時間:2025/5/22 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 androidEditTextinputType及android:imeOptions=”actionDone”(转) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
一、android 軟件盤事件響應(yīng) 在android中,有時需要對EditText實現(xiàn)軟件盤監(jiān)聽的場景。當(dāng)android按下軟鍵盤的時候,響應(yīng)完成、發(fā)送、搜索或者其他事件。 Google 提供了 EditorInfo、KeyEvent 的一些方法,能夠?qū)崿F(xiàn)我們需要的功能。詳細(xì)可研究:EditorInfo.class 和?KeyEvent.class. 輸入回車鍵隱藏輸入鍵盤的方法:

如果布局中包含多個EditText,可以為每個EditText控件設(shè)置android:singleLine=”true”,彈出的軟盤輸入法中回車鍵為next,直到最后一個獲取焦點后顯示為Done。點擊Done后,隱藏軟鍵輸入盤。將EditText的imeOptions屬性設(shè)置android:imeOptions=”actionDone”,則不管是不是最后一個EditText,點擊回車鍵即隱藏輸入法。

監(jiān)聽Enter的事件,編寫Enter的事件響應(yīng)。設(shè)置文本框的OnKeyListener,當(dāng)keyCode ==KeyEvent.KEYCODE_ENTER的時候,表明Enter鍵被按下,就可以編寫自己事件響應(yīng)功能了。

XML文件如下:

1 <EditText 2 android:id="@+id/editTextId" 3 android:layout_width="fill_parent" 4 android:layout_height="50dp" 5 android:imeOptions="actionDone" 6 android:hint="@string/task_new_one" 7 android:textSize="15sp" 8 android:singleLine="true" 9 android:paddingLeft="5dp" 10 android:layout_gravity="center" 11 android:background="@drawable/rectangle" 12 android:inputType="text" 13 > 14 </EditText>

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

通過修改?android:imeOptions 來改變默認(rèn)的鍵盤顯示文本。常用的常量值如下:
  • actionUnspecified? 未指定,對應(yīng)常量EditorInfo.IME_ACTION_UNSPECIFIED.效果:
  • actionNone 沒有動作,對應(yīng)常量EditorInfo.IME_ACTION_NONE 效果:
  • actionGo 去往,對應(yīng)常量EditorInfo.IME_ACTION_GO 效果:
  • actionSearch 搜索,對應(yīng)常量EditorInfo.IME_ACTION_SEARCH 效果:?
  • actionSend 發(fā)送,對應(yīng)常量EditorInfo.IME_ACTION_SEND 效果:
  • actionNext 下一個,對應(yīng)常量EditorInfo.IME_ACTION_NEXT 效果:
  • actionDone 完成,對應(yīng)常量EditorInfo.IME_ACTION_DONE 效果:
  • JAVA代碼: 1 EditText inputText = (EditText) findViewById(R.id. editTextId); ?2 inputText.setImeOptions(EditorInfo.IME_ACTION_DONE);?

      

    添加監(jiān)聽事件: 1 private final EditText.OnEditorActionListener editorActionListener = 2 new TextView.OnEditorActionListener() { 3 @Override 4 public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 5 if (actionId == KeyEvent.ACTION_DOWN || actionId == EditorInfo.IME_ACTION_DONE) { 6 //業(yè)務(wù)代碼 7 haoMent.createTest(Test.getId(), v.getText().toString()); 8 UiUtils.hideSoftKeyboard(getApplicationContext(), haoTest.this); 9 v.setText(""); 10 v.clearFocus(); 11 handler.post(updateView); 12 } 13 return true; 14 } 15 };? ? ? ? 但是,如果手機的輸入法不是內(nèi)置輸入法,而是其他第三方輸入法,那么可能會發(fā)生軟件盤回車鍵無響應(yīng)的問題。為了防止該類事情,則增加紅色部分,響應(yīng)的其KeyEvent。 這時候需要在代碼中添加事件響應(yīng)。

    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);

      }
    };

    二、android 輸入類型 根據(jù)要輸入的內(nèi)容展現(xiàn)相應(yīng)的軟件盤,可通過修改android:inputType 來實現(xiàn)。 這是一些常用的輸入類型。 android:inputType="none"--輸入普通字符 android:inputType="text"--輸入普通字符 android:inputType="textCapCharacters"--輸入普通字符 android:inputType="textCapWords"--單詞首字母大小 android:inputType="textCapSentences"--僅第一個字母大小 android:inputType="textAutoCorrect"--前兩個自動完成 android:inputType="textAutoComplete"--前兩個自動完成 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"--有符號數(shù)字格式 android:inputType="numberDecimal"--可以帶小數(shù)點的浮點格式 android:inputType="phone"--撥號鍵盤 android:inputType="datetime" android:inputType="date"--日期鍵盤 android:inputType="time"--時間鍵盤 密碼框?qū)傩?android:password="true" ? 讓EditText顯示的內(nèi)容自動為星號,輸入時內(nèi)容會在1秒內(nèi)變成*字樣。 純數(shù)字 android:numeric="true" ?    讓輸入法自動變?yōu)閿?shù)字輸入鍵盤,同時僅允許0-9的數(shù)字輸入 僅允許 android:capitalize="haoTest"?  僅允許接受輸入haoTest,一般用于密碼驗證 android:editable="false"?        設(shè)置EditText不可編輯 android:singleLine="true"?       強制輸入的內(nèi)容在單行 android:ellipsize="end"?        自動隱藏尾部溢出數(shù)據(jù),一般用于文字內(nèi)容過長一行無法全部顯示時 (部分屬性參考網(wǎng)絡(luò):http://blog.csdn.net/lushengchu_luis/article/details/8699791、http://www.eoeandroid.com/thread-313140-1-1.html)

    轉(zhuǎn)載于:https://www.cnblogs.com/adison/p/3873671.html

    總結(jié)

    以上是生活随笔為你收集整理的androidEditTextinputType及android:imeOptions=”actionDone”(转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。