Articles of android softkeyboard

在Android自定义键盘中设置键盘模式

我使用Android键盘类创建了自定义键盘。 我希望有两种模式的行。 一种是正常模式。 一个是当用户按下“Sym”按钮时。 对于每个Keyboard.Row对于XML中的“Sym”按钮,我已经指定了android:keyboardMode =“@ + id / sym”。 现在,当我只运行未指定android:keyboardMode显示的行时。 这是预期的,文档说的是什么。 我的问题是如何在我的代码中设置模式,以便获取android:keyboardMode =“@ + id / sym”的行? ” />

显示inputmethod的内置表情符号键

我正在为Android构建一个自定义软键盘,并希望添加一个布局,以包括类似于默认Android键盘(AOSP)正在做的表情符号键。 我搜索过,但似乎大多数人都试图从图像中显示自定义表情符号。 我想展示Android附带的内置图标(如下所示): 看来我应该能够使用Unicode字符从键盘发送图像,但我的第一次尝试似乎只生成了emojis的旧版本。 我如何支持手机可以处理的最新表情符号? 另外,如何在键盘上显示表情符号,如上图所示?

不希望软键盘在启动时自动显示 – Android

每当我打开我的Android应用程序时,它会自动聚焦edittext框并打开软键盘。 有没有办法在启动时关注其他东西,以便键盘不会立即显示?

在Android键盘上检测回事件

我在选项卡控制器中有一些意图,其中一个我有一个编辑文本,我需要知道它何时有焦点,何时失去了这个焦点。 我已经映射了大多数事件,如焦点监听器,OnEditorActionListener等,现在我唯一的问题是,当我有焦点时,软键盘出现,我想要关闭它:1)通过完成按钮而不是通过手机上的后退按钮(在键盘可见时禁用后退按钮关闭键盘)2)在键盘可见时检测后退按钮事件,以便我可以将焦点传递给其他控件。 我尝试了多种方法,但没有成功,比如onBackPressed,onConfigurationChanged(在清单中添加hiddenKeyboard),key_down on activity等等,但没有成功。 有人成功吗? 实际上我想当键盘可见时我按回电话,我的编辑文本失去焦点(otherControl.requestFocus – >这是一个相对布局)。

检测键盘搜索按钮

我更改android软键盘以显示搜索图标而不是Enter图标。 我的问题是:如何检测用户点击该搜索按钮?

如何在搜索视图中隐藏android键盘

我在我的应用程序中使用了搜索视图。 我想知道当我点击搜索视图上的搜索按钮时如何隐藏键盘? 我必须使用后退按钮来查看结果。

BottomSheetDialogFragment中ADJUST_RESIZE的不同行为

我正在尝试创建一个带有TextInputLayout的BottomSheetDialogFragment。 我将此BottomSheet设置为adjustResize以防止键盘覆盖TextInputLayout。 问题是,我正在使用不同的Android版本获得不同的行为。 这是布局: 这是BottomSheetDialogFragment: public class TestFragment extends BottomSheetDialogFragment { @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); return inflater.inflate(R.layout.fragment_test, container, true); } } 这是期望的结果: 这是我在某些版本中得到的结果: 我得到了理想的结果: 搭载Android 7.0的Galaxy S6 模拟器<= Android 5.1 没有预期的结果: Nexus 5搭载Android 7.1.2(LineageOS 14.1) 模拟器=> Android 6.0 有谁知道为什么会发生这种情况或如何解决它? 提前致谢!!! 干杯。

在通过DPAD进入另一个视图时,Android键盘焦点丢失了

我们在一个布局中有17个api,DPAD控制和4个edittexts用于引脚输入。 当用户尝试打开锁定在应用程序中的某些东西时,他面对片段,他应该输入4位数的针脚。 当打开视图时,我们以编程方式将焦点设置为第一个引脚edittext并显示键盘。 当用户输入第一个引脚数字时,我们将视图焦点设置为第二个引脚edittext,用户应输入第二个引脚值,依此类推。 问题:在用户输入第一个引脚值后, 键盘焦点(突出显示)消失,对于第二个引脚,用户应该再次从键盘开始导航。 21 api相同的代码运行良好, 键盘焦点(突出显示)保持在以前的值。 如何在17 api之前保持键盘焦点(突出显示) ,同时将视图焦点设置在另一个视图上? 这是代码: public class PasswordFragment extends BaseFragment { private final ArrayList disposables = new ArrayList(); @BindViews({R.id.passFirst, R.id.passSecond, R.id.passThird, R.id.passFour}) EditText[] pinEdits; @BindDrawable(R.drawable.border_light) Drawable borderLight; @BindDrawable(R.drawable.border_white) Drawable borderWhite; @Inject PrefsRepo prefsRepo; @Inject ToastUtil toastUtil; @BindView(R.id.passTitle) TextView passTitle; @BindString(R.string.insert_pin) String defDialogMes; private InputMethodManager inputMethodManager; @Override public […]

如何在本机活动上显示软键盘

当我尝试使用ANativeActivity_showSoftInput() ,它不会调出软键盘。 我尝试使用ANativeActivity_showSoftInput(engine->app->activity, ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED)和ANativeActivity_showSoftInput(engine->app->activity, ANATIVEACTIVITY_SHOW_SOFT_INPUT_IMPLICIT) ANativeActivity_showSoftInput(engine->app->activity, ANATIVEACTIVITY_SHOW_SOFT_INPUT_FORCED) ANativeActivity_showSoftInput(engine->app->activity, ANATIVEACTIVITY_SHOW_SOFT_INPUT_IMPLICIT)来显示softinput,但也失败了。 我读了源代码,我发现在启动nativeActivity ,将创建NativeContentView(extend View) ,当调用ANativeActivity_showSoftInput ,它将在java端调用showSoftInput() 。 我想也许软键盘没有打开。 你可以帮我吗?

Android键盘替换Web视图

是否可以将网络视图嵌入到Android键盘替换应用程序中? 我有一个用javascript编写的界面,并希望将其嵌入到Android键盘替换应用程序中。 它需要能够检测触摸事件,并从Web视图将文本字符串发送回本机UI。 我已经搜索谷歌这个,但无法find有关如何在键盘替换应用程序中创建Web视图的任何信息。 编辑:根据@ckozl的答案创建了样板的github项目 https://github.com/billymoon/javascript-android-keyboard-boilerplate