我正在開發Android自定義鍵盤。我在我的代碼中導入了android.view.inputmethod.InputMethodSubtype
,同時這樣做我收到了一個錯誤消息,像這樣導入的無法解析。是否有任何我需要安裝的eclipse插件,根據我的知識Android 1.6以上的版本將支持IMF。Android自定義鍵盤實現
1
A
回答
0
這個問題很古老,但我正在回答它,因爲它可能會幫助另一個看到此問題的用戶。
OP詢問是否有Eclipse的任何插件來安裝來解決問題,但現在我們有Android Studio。
對於那些想要實施Android Custom Keyboard: 首先,請下載Android自定義鍵盤的Google示例項目以開始。
有三個重要的功能來決定你想要哪一個:1)主題(自定義佈局),2)子類型和3)表情符號。
對於主題/佈局:創建佈局文件。請參見下面的示例代碼:
<com.domain.keyboard.android.LatinKeyboardView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/keyboard"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@drawable/kb_bg_9"
android:keyBackground="@drawable/key_bg_fill_white"
android:keyPreviewLayout="@layout/key_preview_layout"
android:keyPreviewOffset="@dimen/keyPreviewOffset"
android:keyTextColor="@color/white"
android:popupLayout="@layout/keyboard_popup_layout" />
而且在SoftKeyboard.java
使用下面的代碼:
@Override
public View onCreateInputView() {
// Set custom theme to input view.
int themeLayout = sharedPreferences.getInt(THEME_KEY, R.layout.input_1);
mInputView = (LatinKeyboardView) getLayoutInflater().inflate(
themeLayout, null);
mInputView.setOnKeyboardActionListener(this);
// Close popup keyboard when screen is touched, if it's showing
mInputView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
mInputView.closing();
}
return false;
}
});
// Apply the selected keyboard to the input view.
setLatinKeyboard(getSelectedSubtype());
return mInputView;
}
亞型:創建的qwerty.xml
副本,並編輯它來代替鑰匙。在SoftKeyboard.java
中創建LatinKeyboard
的另一個實例,並使用if
或switch
邏輯。
private LatinKeyboard getSelectedSubtype() {
final InputMethodSubtype subtype = mInputMethodManager.getCurrentInputMethodSubtype();
String s = subtype.getLocale();
switch (s) {
case "ps_AF":
mActiveKeyboard = mPashtoKeyboard;
mCurKeyboard = mPashtoKeyboard;
break;
case "fa_AF":
mCurKeyboard = mFarsiKeyboard;
break;
default:
mCurKeyboard = mQwertyKeyboard;
}
return mCurKeyboard;
}
和編輯methods.xml
添加亞型:
<input-method xmlns:android="http://schemas.android.com/apk/res/android"
android:settingsActivity="com.sunzala.afghankeyboard.android.ImePreferences"
android:supportsSwitchingToNextInputMethod="true">
<subtype
android:imeSubtypeLocale="en_US"
android:imeSubtypeMode="keyboard"
android:label="@string/label_subtype_generic" />
<subtype
android:imeSubtypeLocale="ps_AF"
android:imeSubtypeMode="keyboard"
android:label="@string/label_subtype_generic" />
<subtype
android:imeSubtypeLocale="fa_AF"
android:imeSubtypeMode="keyboard"
android:label="@string/label_subtype_generic" />
</input-method>
對於表情:查找庫,並將其與鍵盤相結合。表情符號將按鍵顯示。
if (primaryCode == -10000) {
showEmoticons();
}
其中-10000
是鍵碼。
相關問題
- 1. 自定義鍵盤與UISearchBar的實現?
- 2. Android的自定義鍵盤
- 3. Android自定義鍵盤
- 4. PhoneGap/Android自定義鍵盤
- 5. Android自定義鍵盤?
- 6. 自定義鍵盤爲Android
- 7. android鍵盤的自定義鍵
- 8. 自定義鍵盤
- 9. 實現Android鍵盤與popupwindow
- 10. 自定義鍵盤不顯示自定義鍵盤iOS 8
- 11. 創建自定義Android鍵盤佈局
- 12. Android自定義鍵盤,發送媒體
- 13. Android:自定義鍵盤行不居中
- 14. 自定義Android鍵盤輸入篩選
- 15. 自定義Android鍵盤中的建議
- 16. Android - 如何顯示自定義鍵盤
- 17. 在webview中的自定義鍵盤android
- 18. 自定義鍵盤符號代碼android
- 19. Android自定義鍵盤密碼記錄
- 20. Android:帶自定義鍵盤的EditText
- 21. 反應本機自定義Android鍵盤
- 22. 自定義鍵盤佈局的Android
- 23. 鍵盤自定義對話Android
- 24. 爲android創建自定義鍵盤
- 25. Android自定義電話鍵盤
- 26. Android自定義鍵盤背景
- 27. android上的自定義鍵盤?
- 28. 自定義鍵盤 - Android電子
- 29. Android自定義彈出式鍵盤
- 30. android自定義軟鍵盤攔截ime_action