国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 軟鍵盤自動彈出與關閉實例詳解

2019-12-12 04:14:57
字體:
來源:轉載
供稿:網友

Android 軟鍵盤自動彈出與關閉

在我們寫修改信息或者搜索,修改密碼等界面的時候,用戶進入這個界面的主要目的就是輸入修改/查找 某些信息,為了用戶體驗應該自動彈出軟鍵盤而不是讓用戶主動點擊輸入框才彈出。

1.軟鍵盤的自動彈出

private void showKeyboard(){    InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);    inputMethodManager.showSoftInput(editText, 0);  }

對于界面比較復雜的情況的時候,軟鍵盤可能無法正常的彈出,需要延遲加載。即在界面加載完成之后,彈出軟鍵盤

1.1 使用 定時器 schedule

Timer timer = new Timer();     timer.schedule(new TimerTask()  {       public void run() {         InputMethodManager inputManager = (InputMethodManager)editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);         inputManager.showSoftInput(editText, 0);       }     }, 998);

1.2 使用 handler
這里寫圖片描述

這里寫圖片描述

2.軟鍵盤的關閉

我遇到過一種情況是,首頁是scrollView 包裹的界面,滾動一段距離后進入下一個頁面,會彈出軟鍵盤,當關閉該界面的時候(即直接 finish()),回到首頁的時候,scrollView 不是原來的位置了。處理辦法就是 在有軟鍵盤彈出的頁面,先關閉軟鍵盤,再 finish()界面。

private void closeKeyboard() {    View view = getWindow().peekDecorView();    if (view != null) {      InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);      inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);    }  }

3.軟鍵盤把某些布局擠上去了的情況

<activity        android:name=".activity.DetailActivity"        android:screenOrientation="portrait"        android:windowSoftInputMode="adjustPan"        android:theme="@style/AppTheme.NoActionBar.Translucent"/>

主要就是 windowSoftInputMode 這個屬性,其中2個比較重要的是 adjustPan 和 adjustResize
adjustPan 不會把底部的布局給擠上去,例如relateLayout 布局中 放到bottom 的布局
adjustResize 是自適應的,會把底部的擠上去。

更詳細的可以了解下 windowSoftInputMode 這個屬性,好多大神的博客上都有說明,我這就不贅述了。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 康保县| 蕉岭县| 上饶县| 榆中县| 昭通市| 靖州| 崇义县| 呼和浩特市| 临洮县| 温州市| 胶州市| 义乌市| 洪泽县| 泰兴市| 甘肃省| 鲁山县| 灵武市| 始兴县| 周至县| 上杭县| 十堰市| 博湖县| 高唐县| 宝兴县| 南平市| 汤阴县| 中方县| 牟定县| 耿马| 迁西县| 东辽县| 塔河县| 灵石县| 门头沟区| 徐水县| 汉阴县| 武夷山市| 宝兴县| 托里县| 菏泽市| 老河口市|