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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android官方开发文档Training系列课程中文版:键盘输入处理之控制输入法的显示方式

發布時間:2024/7/5 Android 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android官方开发文档Training系列课程中文版:键盘输入处理之控制输入法的显示方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文地址:http://android.xsoftlab.net/training/keyboard-input/visibility.html

當輸入的焦點進入或者離開文本框時,Android會適時的顯示或隱藏輸入法。系統還會決定UI及文本框如何出現在輸入法的上方。比如,當垂直方向上的可用空間非常緊張時,那么文本框可能就會填充輸入法上方的整個區域。對于大多數的APP來說,這樣的默認行為是它們所需要的。

不過在另一些情況中,你可能需要直接控制輸入法的顯示方式,以及需要在輸入法可見的時候控制UI的排布方式。那么這節課主要就是介紹如何實現這些。

在Activity啟動的時候顯示輸入法

盡管在Activity啟動的時候Android將焦點給了第一個文本框,但是它是不會觸發輸入法彈出的。這樣的行為是符合正常的習慣的,因為進入文本框可能不會Activity啟動后的首要任務。不管怎么說,如果進入文本框是Activity的首要任務的話(比如登錄界面),那么你可能希望默認情況下進入Activity后就會彈出輸入法。

為了在Activity啟動后可以顯示輸入法,需要在清單文件中對應的Activity的元素中添加屬性android:windowSoftInputMode。如下:

<application ... ><activity android:windowSoftInputMode="stateVisible" ... >...</activity>... </application>

Note:如果用戶的設備含有實體按鍵,那么軟鍵盤是不會彈出的。

按需求彈出輸入法

如果在Activity的生命周期內有這么一個方法:你希望確保在該方法調用后輸入法是可見的,那么你可以使用InputMethodManager來將它彈出。

舉個例子,下面的方法持有了一個View對象,用戶會在這個View內部輸入點什么,所以調用requestFocus()方法可以將焦點賦給它,然后showSoftInput()就會將輸入法打開:

public void showSoftKeyboard(View view) {if (view.requestFocus()) {InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);imm.showSoftInput(view, InputMethodManager.SHOW_IMPLICIT);} }

Note: 一旦輸入法被彈出,那么最好不要使用代碼隱藏它。系統會在用戶終止文本框中的任務后將它隱藏或者用戶通過系統隱藏了它(比如使用了返回按鈕)。

指明你的UI應該如何響應輸入法的彈出

當輸入法出現在屏幕上時,它會減少APP在屏幕上的使用空間。那么系統會決定如何調整UI的部分區域,但是它可能不是最準確的。為了確保APP擁有最佳的用戶體驗,應該指明系統如何調整UI。

為了聲明Activity的首選方式,應當在項目的清單文件中對應的Activity下添加android:windowSoftInputMode屬性,并使用其中一個含有”adjust”的值。

舉個例子,為了確保系統可將UI調整到可用區域,應當使用”adjustResize”:

<application ... ><activity android:windowSoftInputMode="adjustResize" ... >...</activity>... </application>

除了以上的方法,你還可以使用組合的的方式來聲明UI調整規則與輸入法的可見性規則:

<activity android:windowSoftInputMode="stateVisible|adjustResize" ... >...</activity>

指明”adjustResize”是很重要的:如果UI中含有一些用戶可能需要迅速訪問的按鍵或者需要操作的文本框的話。舉個例子,如果你使用相對布局將一個按鈕放置到了屏幕的底部,那么使用”adjustResize”調整布局可以使該按鈕出現在輸入法的頂部,這樣在輸入完成之后就可以直接點擊該按鈕。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Android官方开发文档Training系列课程中文版:键盘输入处理之控制输入法的显示方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。