如何在textview android中显示输入法选择器列表标题和摘要?
Posted
技术标签:
【中文标题】如何在textview android中显示输入法选择器列表标题和摘要?【英文标题】:How to display input method picker list title and summary in textview android? 【发布时间】:2021-04-17 11:24:53 【问题描述】:我正在唱歌要选择的键盘视图。选择键盘后,如何在textview android中显示选中的键盘文字?
我只能显示语言但如何显示标题和摘要以更改键盘?
public class MainActivity extends AppCompatActivity
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn = findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener()
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
public void onClick(View view)
InputMethodManager imm = (InputMethodManager) MainActivity.this.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showInputMethodPicker();
InputMethodSubtype ims = imm.getCurrentInputMethodSubtype();
String localeString = ims.getLocale();
Locale locale = new Locale(localeString);
String currentLanguage = locale.getDisplayLanguage();
Toast.makeText(MainActivity.this,currentLanguage,Toast.LENGTH_SHORT)
.show();
//Title and summary for change keyboard need to display
);
【问题讨论】:
【参考方案1】:有两种方法可以解决这个问题,最简单的方法是使用非大小编辑文本
不要隐藏文本视图,如果它隐藏了,那么 edtTxt.getText().toString() 总是为空
<EditText
android:id="@+id/edtTxt"
android:layout_
android:layout_ />
这样用户就看不到了。并点击按钮
edtTxt.requestFocus();
edtTxt.setText("");
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.toggleSoftInputFromWindow(edtTxt.getApplicationWindowToken(), InputMethodManager.SHOW_FORCED,
0);
现在edtTxt.getText().toString()
发短信。
如果没有 EditText,您将很难过。
一个 InputMethod 需要连接到一个视图。无论您使用哪种视图,您都需要重写 onCreateInputConnection 以返回一个自定义 InputConnection 对象,该对象至少实现 commitText(用于单词输入)、deleteSurroundingText(用于删除)和 sendKeyEvent(用于假定您处于哑模式的键盘),以及所有的完成功能。输入连接是复杂的事情,如果你不正确,你会搞砸 Swiftkey 和 Swype 等 3rd 方键盘。我真的不建议这样做。
如果你想这样做,最好的机会是声明你的窗口是 TYPE_NULL 输入类型。大多数键盘都会让自己变得笨拙,并假设您在该模式下只接受最简单的命令。但你不能指望它。
我会查看 EditText 类返回的 InputConnection 并尽可能多地复制它。
【讨论】:
嗨。谢谢你。但我仍然收到一个空文本。以上是关于如何在textview android中显示输入法选择器列表标题和摘要?的主要内容,如果未能解决你的问题,请参考以下文章
Android IME:显示一个自定义弹出对话框(如 Swype 键盘),可以在 TextView 中输入文本
如何在开始时在android TextView中写入`@`符号
Android - 在 TextView 中突出显示一个单词?