中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

EditText焦點自動帶出軟鍵盤問題

發布時間:2020-04-10 20:04:06 來源:網絡 閱讀:721 作者:沒有水勒魚 欄目:移動開發

總結一下網上的辦法  
可是一個都不管用
我想真的是應該我的虛擬機出問題了
神啊
讓我趕緊有錢買安卓手機吧。。
(那種很便宜的真心不想買。。。感覺。。不劃算。。OTZ

========================================================================原因分析:
       Android新啟動Activity,dialog或者其他窗體中中包含EditText, 新啟動的activity的焦點默認在EditText上,這時候android系統會自動彈出軟鍵盤。這會導致擠壓activity本來的界面,影響美觀。
幾種解決方法:
      一、解決效果:activity打開,軟鍵盤不自動打開,焦點不在editText上面。當點擊editText,再打開軟鍵盤
             具體方法:在onCreate()方法中將焦點放在另一個view上.  view使用requestFocus()焦點,但是如果讓button或者textView之類控件直接使用requestFocus()方法,則無法 獲取焦點,焦點會依然在editText上。
                              只能在使用View的requestFocus()方法之前調用下面2個方法,view才可獲取焦點:
                              view.setFocusable(true);
                              view.setFocusableInTouchMode(true);
                              然后調用 requestFocus()即可獲取焦點。
     二、解決效果:activity打開,軟鍵盤不自動打開,焦點落在editText上面。當點擊editText,再打開軟鍵盤
            具體方法:在Activity中OnCreate方法里面加下面這句代碼 getWindow().setSoftInputMode(  WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
                             或者在AndroidManifest.xml中該activity處添加android:windowSoftInputMode屬性
                             eg. <activity android:name="SelectPartsActivity"
                                                 android:screenOrientation="landscape"
                                                android:windowSoftInputMode="stateAlwaysHidden" />
                             PS:如果實在不放心,可以兩個都添加
     三、解決效果:android機頂盒開發時,長按遙控器OK鍵(此處的長按操作一般都為用戶按鍵時間過長導致的誤操作,而不是有意長按)打開Activity,軟鍵盤不自動打開,焦點落在editText上面。
            解決方法(本人未測試,不知是否可用):在OnCreate中設置延時,必須等延時事件完畢才讓EditText能獲得焦點彈出軟鍵盤;或者讓EditText一直獲得焦點,必須延時事件結束后EditText才能響應軟鍵盤彈出事件。此處用到Timer輔助實現。
                            eg.   @Override
                                    public void onCreate(Bundle savedInstanceState) {
                                        super.onCreate(savedInstanceState);
                                        setContentView(R.layout.main);
                                        Timer timer = new Timer();
                                        timer.schedule(new TimerTask() {
                                            @Override
                                             public void run() {
                                                 //此處EditText獲得焦點或者軟鍵盤彈出操作
                                                 ...................
                                                //  InputMethodManager imm = (InputMethodManager)MainActivity.this.getSystemService(INPUT_METHOD_SERVICE);
                                                // imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
                                             }
                                         }, 1000);  //在一秒后操作
                                     }
    
                                 自動關閉:
    
                                 InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
                                 imm.hideSoftInputFromWindow(editTextField.getWindowToken(), 0);

引用自http://www.eoeandroid.com/blog-687425-4752.html

==================================================================
剛進入activity的時候,如果布局組件有edittext的話,往往edittext會獲取焦點,自動彈出軟鍵盤,影響整個界面的視覺效果。解決方法如下:

可以在edittext的父布局結構中(例如LinearLayout,RelativeLayout等)添加

view sourceprint?
android:focusable="true"
android:focusableInTouchMode="true"


<TextView
android:id="@+id/txtNotuse"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusable="true"
android:focusableInTouchMode="true"
android:textIsSelectable="true" />

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阿合奇县| 肇东市| 海兴县| 扶沟县| 深圳市| 郴州市| 山东省| 嘉荫县| 鸡泽县| 老河口市| 建瓯市| 太保市| 修文县| 海宁市| 五峰| 衡东县| 泊头市| 洛阳市| 阿合奇县| 龙门县| 德令哈市| 龙泉市| 确山县| 达州市| 中西区| 措勤县| 新巴尔虎左旗| 哈巴河县| 前郭尔| 平安县| 丹寨县| 通渭县| 崇左市| 东至县| 吉安市| 伊金霍洛旗| 勃利县| 天镇县| 高台县| 镇平县| 同德县|