自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Android開發(fā)中設(shè)置EditText獲得焦點(diǎn)時(shí)不彈出軟鍵盤

移動開發(fā) Android
默認(rèn)EditText在獲得焦點(diǎn)時(shí),會彈出軟鍵盤,如果想實(shí)現(xiàn)當(dāng)EditText獲得焦點(diǎn)時(shí),直接彈出對話框,像時(shí)間對話框,而不要彈出軟鍵盤,該如何禁止彈出軟鍵盤?

方法:即onCreate()中調(diào)用EditText實(shí)例的setInputType(InputType.TYPE_NULL),xml文件中定義EditText時(shí),指定的Android:inputType="??",??可以任意。

  1. /** Init date EditText. */ 
  2. View.OnTouchListener dateEditTextOnTouchListener = new EditTextOnTouchListener( 
  3. DATE_DIALOG); 
  4. mDateEditText.setOnTouchListener(dateEditTextOnTouchListener); 
  5. mDateEditText.setInputType(InputType.TYPE_NULL); 
  6.  
  7. /** Init time start/end EditText. */ 
  8. View.OnTouchListener timeStartEditTextOnTouchListener = new EditTextOnTouchListener( 
  9. TIME_START_DIALOG); 
  10. mTimeStartEditText.setOnTouchListener(timeStartEditTextOnTouchListener); 
  11. mTimeStartEditText.setInputType(InputType.TYPE_NULL); 
  12.  
  13. View.OnTouchListener timeEndEditTextOnTouchListener = new EditTextOnTouchListener( 
  14. TIME_END_DIALOG); 
  15. mTimeEndEditText.setOnTouchListener(timeEndEditTextOnTouchListener); 
  16. mTimeEndEditText.setInputType(InputType.TYPE_NULL); 
  17.  
  18. private class EditTextOnTouchListener implementsView.OnTouchListener { 
  19.  
  20. private int dialogId = 0
  21. public EditTextOnTouchListener(int dialogId) { 
  22.  
  23. this.dialogId = dialogId; 
  24.  
  25. @Override 
  26. public boolean onTouch(View v, MotionEvent event) { 
  27. showDialog(dialogId); 
  28. return false

因?yàn)橐獙?shí)現(xiàn)彈出對話框,試過如果不用上面的OnTouchListener而是用OnClickListener時(shí),會有一個(gè)現(xiàn)象:即,當(dāng)EditText從沒有獲得焦點(diǎn)到第一次獲得焦點(diǎn)時(shí),不會彈出對話框,只有在EditText已經(jīng)獲得焦點(diǎn)的情況下再去點(diǎn)擊EditText,此時(shí)才會彈出對話框。但是如果不設(shè)置OnClickListener,而是設(shè)置成OnTouchListener則第一次獲得焦點(diǎn)時(shí)就會彈出對話框。

注:上面的部分源碼沒有包括:

  1. /** Invoked by showDialog indirectly. */ 
  2. protected Dialog onCreateDialog(int id) { 
  3.  
  4.  
  5. ...... 
  6.  
  7. } 

這個(gè)onCreateDialog是在調(diào)用了showDialog后,解發(fā)的。細(xì)節(jié)可以參看Activity.class里面的showDialog觸發(fā)的調(diào)用過程。

責(zé)任編輯:張葉青 來源: Linux公社
相關(guān)推薦

2013-07-16 14:47:18

Android EdiEditText不彈出Android開發(fā)

2024-05-06 08:28:09

Android窗口鍵盤

2021-08-07 15:31:45

Windows 10Windows微軟

2017-07-03 17:20:55

Android軟鍵盤控制開發(fā)問題

2024-03-06 09:16:57

PAD設(shè)備kikaInput鴻蒙

2009-08-21 13:25:49

C#打開軟鍵盤

2011-02-22 11:11:33

EditTextAndroid

2017-12-05 13:12:35

Android軟鍵盤參數(shù)

2017-12-05 15:26:19

2020-03-24 09:34:00

移動端H5軟鍵盤

2021-07-13 09:49:08

鴻蒙HarmonyOS應(yīng)用

2019-04-25 10:20:22

H5軟鍵盤前端

2013-04-01 17:05:28

2021-02-20 22:15:44

Android 代碼操作系統(tǒng)

2024-05-28 08:23:36

Android開發(fā)文本

2022-04-26 10:41:46

Android游戲開發(fā)工具

2019-08-05 08:02:31

AI 數(shù)據(jù)人工智能

2011-06-22 10:27:32

QT 鍵盤 焦點(diǎn)

2009-05-07 17:24:05

Android 1.5CupcakeAndroid

2009-05-13 08:37:10

GoogleAndroid移動OS
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號