我想创建一个类似 Emoji 的通用键盘。我正在关注 this tutorial 。
我希望主软键盘能够正常工作,或者我的意思是扩展它。只需要在符号显示时单击mModeChangeKey上的布局和事件。
当模式改变时,我想用表情符号显示我的键盘。并像其他表情符号一样添加它。
的Manifest.xml
<service android:name="com.example.keyboardtesting.MyInputMethod"
android:label="@string/app_name"
android:permission="android.permission.BIND_INPUT_METHOD">
<intent-filter>
<action android:name="android.view.InputMethod" />
</intent-filter>
<meta-data android:name="android.view.im"
android:resource="@xml/method" />
</service>
还添加了权限..
点击第一个按钮
startActivityForResult( new Intent(android.provider.Settings.ACTION_INPUT_METHOD_SETTINGS), 0);
点击第二个按钮
InputMethodManager inputmethodmanager = (InputMethodManager) getSystemService("input_method");
if (inputmethodmanager != null)
{
inputmethodmanager.showInputMethodPicker();
}
因为用户可以选择两者。我们不能以编程方式来做。我也经历了拉丁语和软键盘。但我仍然感到困惑。
MyInputMethod
public class MyInputMethod extends InputMethodService
{
private Keyboard mKeyboard;
private KeyboardView mInputView;
@Override
public void onInitializeInterface()
{
mKeyboard = new Keyboard(this, R.xml.qwerty);
}
@Override
public View onCreateInputView()
{
mInputView = (KeyboardView) getLayoutInflater().inflate(
R.layout.input_black, null);
mInputView.setKeyboard(mKeyboard);
return mInputView;
}
}
简单的字词:
我只是想在Android设备上显示我的键盘。我稍后会添加事件。
答案 0 :(得分:0)
如果您想要确保键盘显示,您还需要添加其他文件。像这样。
创建method.xml文件
<?xml version="1.0" encoding="utf-8"?>
<input-method xmlns:android="http://schemas.android.com/apk/res/android">
<subtype
android:label="@string/subtype_en_US"
android:imeSubtypeLocale="en_US"
android:imeSubtypeMode="keyboard" />
</input-method>
制作键盘布局。布局/ keyboard.xml
<?xml version="1.0" encoding="UTF-8"?>
<android.inputmethodservice.KeyboardView
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:keyPreviewLayout ="@layout/preview"
/>
keyPreviewLayout是短暂弹出窗口的布局,只要按下键盘上的键,就会显示该布局。
布局/ preview.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:background="#ffff00"
android:textStyle="bold"
android:textSize="30sp"
>
</TextView>
接下来,您需要为功能制作qwerty.xml。而且您已经创建了服务类。但是你还没有实现OnKeyboardActionListener
。确保你这样做。