導航:首頁 > 操作系統 > android開發之輸入法

android開發之輸入法

發布時間:2023-03-07 11:17:59

A. 如何在android開發中對輸入法進行顯示和隱藏

java">/**
*設置輸入法,如果當前頁面輸入法打開則關閉
*@paramactivity
*/
publicvoidhideInputMethod(Activityactivity){
Viewa=activity.getCurrentFocus();
if(a!=null){
InputMethodManagerimm=(InputMethodManager)activity.getApplicationContext().getSystemService(Context.INPUT_METHOD_SERVICE);
try{
imm.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);
}catch(Exceptione){
e.printStackTrace();
}
}
}


/**
*強制顯示輸入法
*@paramactivity
*/
publicvoidtoggleSoftInput(Viewview){
try{
InputMethodManagerimm=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view,InputMethodManager.SHOW_FORCED);
}catch(Exceptione){

}
}


以上兩個函數,就是顯示和隱藏,你直接調用一下即可

B. android輸入法開發,最開始編寫的時候必須要寫的有什麼內容

參考開源的輸入法程序:
這個是個日語輸入法

初步學習:-1個月
1.去電驢上下一份mars的視頻。先淺淺的了解下android應用開發、整體架構和思路。mars的視頻做的挺不錯。
2.在eclipse中導入api demos。在手機/模擬器上運行apidemos,裡面的實例非常棒。可以把例子中涉及到項目的地方標注下,然後著重看看這部分的代碼.
逐漸深入:-3個月
1.有選擇的閱讀android api中的Dev Guide部分。
2.閱讀android中的resources部分。
上面的文章比較多,也不需要全部閱讀。只是在做過初步工作後,有選擇性的著重看一些相關內容。相關內容應該不僅僅包括項目直接相關的,還包括一些平台基礎知識。這些東西應如何選擇是在初步學習階段中應該明確的。
3.有空上上android相關比較好的社區,看看高手總結。如eoe、bus之類的。
准備階段:-3個月
閱讀開源的項目。
樓下有的朋友也提了一些建議。我覺得都挺好的,到了這個時候就該開始閱讀源碼進行學習了。
這里的關鍵在於慢慢扣源碼,先找容易看到的類。看著注釋慢慢理解,碰到不熟悉的類就查android的api。
閱讀是個長期的過程,然後必須要產生一些成果:
a.與輸入法相關的關鍵介面有哪些?關鍵類有哪些,職責是什麼?
b.輸入法的架構是怎樣的?組件之間如何交互?
c.數據從哪裡來?如何進行組織?
3.開發階段:
迭代開發。從最小的原型開始做起。
最小原型包括:最基本的輸入法功能,輸入字母,確定輸入,顯示字典,選擇完成輸入。最基礎的測試數據。
在完善輸入法基本功能上迭代開發。包括聯想輸入,更智能的分詞,以及符號和手寫識別等。還有ui美化等等。
既然你這邊有學c的同學,那麼在一些關鍵瓶頸方面。也可以使用NDK做後續優化。

C. 如何在應用開發android中添加中文輸入法

首先你要在手機上裝有中文輸入法。
如果是程序調用指定的中文輸入法就用InputMethodManager.setInputMethod (IBinder token, String id),函數可以在sdk中看相關說明。
如果是手機上設置默認的話,設置->語言和輸入法->默認-> 然後在彈出框中選擇你想要的輸入法。

D. 關於Android中的軟鍵盤

原文鏈接:徹底搞定Android開發中軟鍵盤的常見問題
軟體盤的本質是什麼?軟鍵盤其實是一個Dialog。

InputMethodService為我們的輸入法創建了一個Dialog,並且將該Dialog的Window的某些參數(如Gravity)進行了設置,使之能夠在底部或者全屏顯示。當我們點擊輸入框時,系統對活動主窗口進行調整,從而為輸入法騰出相應的空間,然後將該Dialog顯示在底部,或者全屏顯示。
軟鍵盤顯示的調整
Android 定義了一個屬性,名字為windowSoftInputMode, 這個屬性用於設置Activity主窗口與軟鍵盤的交互模式,用於避免軟鍵盤遮擋內容的問題。我們可以在AndroidManifet.xml中對Activity進行設置。如:android:windowSoftInputMode=」stateUnchanged|adjustPan」。 該屬性可選的值有兩部分,一部分為軟鍵盤的狀態控制,控制軟鍵盤是隱藏還是顯示,另一部分是Activity窗口的調整,以便騰出空間展示軟鍵盤。 android:windowSoftInputMode的屬性設置必須是下面中的一個值,或一個」state」值加一個」adjust」值的組合,各個值之間用 | 分開。
stateUnspecified-未指定狀態 :當我們沒有設置android:windowSoftInputMode屬性的時候,軟體默認採用的就是這種交互方式,系統會根據界面採取相應的軟鍵盤的顯示模式。
stateUnchanged-不改變狀態 :當前界面的軟鍵盤狀態,取決於上一個界面的軟鍵盤狀態,無論是隱藏還是顯示。
stateHidden-隱藏狀態 :當設置該狀態時,軟鍵盤總是被隱藏,不管是否有輸入的需求。
stateAlwaysHidden-總是隱藏狀態 :當設置該狀態時,軟鍵盤總是被隱藏,和stateHidden不同的是,當我們跳轉到下個界面,如果下個頁面的軟鍵盤是顯示的,而我們再次回來的時候,軟鍵盤就會隱藏起來。
stateVisible-可見狀態 :當設置為這個狀態時,軟鍵盤總是可見的,即使在界面上沒有輸入框的情況下也可以強制彈出來出來。
stateAlwaysVisible-總是顯示狀態 :當設置為這個狀態時,軟鍵盤總是可見的,和stateVisible不同的是,當我們跳轉到下個界面,如果下個頁面軟鍵盤是隱藏的,而我們再次回來的時候,軟鍵盤就會顯示出來。
adjustUnspecified-未指定模式 :設置軟鍵盤與軟體的顯示內容之間的顯示關系。當你跟我們沒有設置這個值的時候,這個選項也是默認的設置模式。在這中情況下,系統會根據界面選擇不同的模式。
adjustResize-調整模式 :該模式下窗口總是調整屏幕的大小用以保證軟鍵盤的顯示空間;這個選項不能和adjustPan同時使用,如果這兩個屬性都沒有被設置, 系統會根據窗口中的布局自動選擇其中一個
adjustPan-默認模式 :該模式下通過不會調整來保證軟鍵盤的空間,而是採取了另外一種策略,系統會通過布局的移動,來保證用戶要進行輸入的輸入框肯定在用戶的視野范圍裡面,從而讓用戶可以看到自己輸入的內容。

案例
沒有滾動布局xml

對於沒有滾動控制項的布局來說,adjustPan就是默認的設置,比如我們案例應用中的文本輸入8,上面的文本輸入框123和按鈕都會被頂上去,且頁面布局不可以滾動。

對於沒有滾動控制項的布局來說,整個布局會網上偏移(包括標題等)以保證輸入框的可見。如果有滾動控制項,那麼就是內容網上偏移,標題不會動,還可以通關滾動來查看被頂上去的內容,而這點是不可滾動的布局所不具備的

有滾動布局xml

對於有滾動控制項的布局,則是採用的adjustResize方式,比如我們案例應用中的文本輸入8,上面的文本輸入框123和按鈕都會被頂上去, 可以通過滾動來查看被頂上去的內容。

** 根據這一原理,我們就可以把開發中遇到的軟鍵盤遮擋頁面的問題,利用ScrollView當做根布局,讓系統採用adjustResize模式,很好地解決這一問題。**

自動彈出軟鍵盤
有時候需要一進入Activity後就自動彈出軟鍵盤,可以通過設置一個時間函數來實現,具體寫法如下:
方法一:

方法二:

有時進入Activity後不希望系統自動彈出軟鍵盤,我們可以按照下面的方法來實現:
方法一:
在AndroidMainfest.xml中選擇那個activity,設置windowSoftInputMode屬性為adjustUnspecified|stateHidden

方法二:
讓EditText失去焦點,使用EditText的clearFocus方法

方法三:
強制隱藏Android輸入法窗口

方法四:
EditText始終不彈出軟體鍵盤

EditText設置ScrollView壓縮背景圖片解決辦法
在你的Activity里加上

有時希望根據條件動態關閉軟鍵盤,我們可以使用InputMethodManager類,按照下面的方法來實現:
方法一:

方法二:
強制隱藏軟鍵盤,這個方法倒是很實用。

方法三:

方法四:

在onclick事件下.以下方法可行.(如果是EditText失去焦點/得到焦點,沒有效果)

InputMethodManager的具體用法可以參考下面的鏈接: http://www.apihome.cn/api/android/InputMethodManager.html

使用android:imeOptinos可對Android自帶的軟鍵盤進行一些界面上的設置:

android:imeOptions="flagNoExtractUi" //使軟鍵盤不全屏顯示,只佔用一部分屏幕

同時,這個屬性還能控制項軟鍵盤右下角按鍵的顯示內容,默認情況下為回車鍵
android:imeOptions="actionNone" //輸入框右側不帶任何提示 android:imeOptions="actionGo" //右下角按鍵內容為'開始' android:imeOptions="actionSearch" //右下角按鍵為放大鏡圖片,搜索 android:imeOptions="actionSend" //右下角按鍵內容為'發送' android:imeOptions="actionNext" //右下角按鍵內容為'下一步' android:imeOptions="actionDone" //右下角按鍵內容為'完成'

同時,可能EditText添加相應的監聽器,捕捉用戶點擊了軟鍵盤右下角按鈕的監聽事件,以便進行處理。

開發中有個需求是將頁面底部的一個按鈕頂起,但是開發時發現Android5.0以後的版本設置了adjustResize屬性後無法成功頂起。糾結了好久,最後在stackoverflow找到解決方案,那就是在根布局上加上fitsSystemWindow=」true」即可。

這里的fitsSystemWindow具體的作用就是你的**contentview是否忽略actionbar,title,屏幕的底部虛擬按鍵,將整個屏幕當作可用的空間。 **
正常情況,contentview可用的空間是去除了actionbar,title,底部按鍵的空間後剩餘的可用區域;這個屬性設置為true,則忽略,false則不忽略

在edittext上加入Android:imeOptions=」actionSearch」這個屬性沒響應,最後發現在2.3及以上版本不起作用,解決方案:加上

因為輸入法鍵盤右下角默認的回車鍵本來就是換行用的,當設置單行後,回車換行就失去作用了,這樣就可以設置為搜索、發送、go等等。

E. 安卓手機如何輸入中文

問題一:Android手機用什麼中文輸入法最好 搜狗詞庫強大但打字有點慢
google 挺好但不支持九宮格
qq按鍵太亥,詞庫還可以
觸寶太慢,但很有自己的特點,在新版本出來之前不建議使用
網路還算不錯
推薦輸入法:網路、搜狗
其實用什麼輸入法還要看個人了,適合自己的才是最好的,自己用什麼順手就用什麼咯

問題二:怎樣才能讓手機輸入簡訊的時候變成中文 如果是智能手機,以下步驟:
打開設置,語言與輸入法。
將自己的輸入法切換為中文輸入法(如搜狗輸入法)
確定並應用
如果你手機能夠處理的話,下次輸入時彈出的就是中文輸入法。
ps:一般安卓手機都會配上一些中文輸出軟體(只要你是在中國買的),如果沒有,打開安卓應用市場或咨詢安卓客戶端。
非智能手機:
如果是非智能手機,就是各種五花八門。如果動不了就是操作有問題,試試*等符號。

問題三:安卓手機沒有中文輸入法怎麼辦 若手機無法切換成中文輸入法,建議:
1.以3*4鍵盤切換中文輸入法為例:進入設定-語言和輸入-三星中文輸入法右側的齒輪圖標,進入三星中文輸入法設置-選擇3*4鍵盤類型,在使用該輸入法時,點擊右下角「EN/中」切換即可。
2.請檢查使用的是否為第三方輸入法,若是,請切換自帶三星輸入法嘗試。
3.若依然不能切換成中文輸入法,建議設定-應用程序管理器-全部-三星輸入法-清除數據。
4.若無效,請備份手機中數據,然後恢復出廠設置(設定―重置/隱私權/個人―恢復出廠設置)。
若上述方式操作後問題依然存在,請您攜帶購機發票、包修卡和機器送到三星服務中心檢查。

問題四:安卓智能手機,打字不能打中文怎麼辦??? 在系統設置里改一下或下載一個輸入法

問題五:安卓系統手機的輸入法怎麼弄,怎麼都是字母呢,怎麼樣調回中文 在輸入對話框里 長按 就可以更換輸入法,自己下載個QQ 搜狗什麼的 我個人用的 QQ 反應速度快 手寫識別率高 打字框 模仿的 直板手機的 字母三個一鍵 也可以分開 看你自己使用了。

問題六:安卓手機怎麼讓輸入法變成中文 5分 如果是系統自帶的谷歌輸入是沒有中文的。下個就行,網路,搜狗什麼的

問題七:安卓系統的手機如何切換輸入法? 4.0系統的在空白地方長按會顯示輸入法切換。
4.0以後的系統要在手機的下拉菜單那切換。

問題八:Android手機用什麼中文輸入法最好 目前來說是搜狗輸入法

問題九:如何在應用開發android中添加中文輸入法 首先你要在手機上裝有中文輸入法。
如果是程序調用指定的中文輸入法就用InputMethodManager.setInputMethod (IBinder token, String id),函數可以在sdk中看相關說明。
如果是手機上設置默認的話,設置->語言和輸入法->默認-> 然後在彈出框中選擇你想要的輸入法。

問題十:搜狗輸入法(安卓版)輸入首選怎麼設置成中文? 5分 狀在頂部快捷工具欄點擊切換鍵,即可進行輸入法切換菜單,選擇想要的輸入方式和鍵盤樣式:拼音九鍵、拼音全鍵、英文九鍵、英文全鍵、筆畫和手寫。
如果使用實體硬鍵盤進行輸入,那麼使用【↑+空格】可進行中英文切換;英文狀態下使用【↑+搜索】可在英文輸入狀態下開啟和關閉預測,中文狀態下使用【↑+搜索】在筆畫輸入和拼音輸入之間切換。
安卓建議用網路輸入法或是訊飛語音。搜狗電腦上好使,但是手機上不是最佳選擇

閱讀全文

與android開發之輸入法相關的資料

熱點內容
760貼片機編程視頻 瀏覽:333
歐姆龍plc編程第36講 瀏覽:915
我的世界如何將一個伺服器弄崩 瀏覽:8
php網站訪問量代碼 瀏覽:431
怠速壓縮機咔咔響 瀏覽:176
怎麼才能修改APP中的數據 瀏覽:688
哪裡有搶單的app 瀏覽:462
演算法概率題 瀏覽:465
長方形拉伸的命令 瀏覽:279
python代碼函數編程技術 瀏覽:194
java正則式 瀏覽:429
外包程序員好進嗎 瀏覽:384
雲伺服器服務模型架構 瀏覽:901
刪文件夾什麼指令 瀏覽:509
極速抖音已加密怎麼辦 瀏覽:603
matlab拉格朗日演算法框圖 瀏覽:430
華為公司計算機視覺演算法顧問 瀏覽:254
夏老師講的單片機 瀏覽:298
在編程中如何將圖片放大 瀏覽:163
appstore怎麼看是否付費 瀏覽:603