Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 确定显示的软键盘样式,平板电脑或手机样式_Android_Android Layout_Android Softkeyboard - Fatal编程技术网

Android 确定显示的软键盘样式,平板电脑或手机样式

Android 确定显示的软键盘样式,平板电脑或手机样式,android,android-layout,android-softkeyboard,Android,Android Layout,Android Softkeyboard,我想以编程方式确定设备是呈现平板电脑还是手机风格的键盘。虽然有许多不同的安卓软键盘实现,但在大多数情况下有两种不同的按键布局。一个用于手机,另一个用于平板电脑。谢谢你的帮助 注意:我指的是字符键彼此之间的方向。在电话键盘上,后两行字符对齐,第一行偏移50%。平板电脑键盘有一个更随意的偏移量,它模仿了物理键盘布局。你的“平板电脑或手机式键盘”概念并没有反映现实。有些输入法编辑器甚至没有键。“手机键盘,后两行字符对齐,第一行偏移50%”的概念可能适用于手机上使用的某些输入法编辑器,但肯定不是所有输入

我想以编程方式确定设备是呈现平板电脑还是手机风格的键盘。虽然有许多不同的安卓软键盘实现,但在大多数情况下有两种不同的按键布局。一个用于手机,另一个用于平板电脑。谢谢你的帮助

注意:我指的是字符键彼此之间的方向。在电话键盘上,后两行字符对齐,第一行偏移50%。平板电脑键盘有一个更随意的偏移量,它模仿了物理键盘布局。

你的“平板电脑或手机式键盘”概念并没有反映现实。有些输入法编辑器甚至没有键。“手机键盘,后两行字符对齐,第一行偏移50%”的概念可能适用于手机上使用的某些输入法编辑器,但肯定不是所有输入法编辑器,这当然不是一项要求

因此,当然欢迎您通过任何标准方法(资源集、
配置
等)确定屏幕大小。但你没有办法知道:

  • 如果用户当前使用的输入法编辑器具有键
  • 如果是,这些键之间的物理关系是什么(例如,“后两行字符对齐”)

好的,所以无法通过查询键盘来确定有关它的任何信息?我正在移植的应用程序要求您从内存中键入文本。在iOS上,它可以让你点击任何与正确键相邻的键,这样可以非常快速地打字。我熟悉许多不同的android软键盘风格,但我只需要处理两个主要布局,因为这是一个很好的功能。如果我猜错了键盘风格,它仍然可以工作。我在想,如果没有更好的方法来猜测正在使用的键盘布局,我将默认为x大屏幕的平板电脑布局。@bgolson:“所以没有办法查询键盘以确定任何有关它的信息?”——正确。“在iOS上,它可以让你点击与正确键相邻的任何键,这样可以非常快速地输入”——大多数Android输入法编辑器都是QWERTY。“两个主要布局”——没有这样的概念。有成千上万的安卓设备,跨越100多个输入法编辑器,这些只是硬件附带的设备,忽略了用户下载的设备。您假设所有设备看起来都像您面前的少数设备,这不是一个安全的假设。非常感谢您的反馈。现在,由于我想不出任何替代方案,我将坚持关于两个键布局的假设,但也提供用户首选项,以便他们可以更改与键盘上每个键关联的相邻键集,或者干脆完全关闭打字助手功能。我相信95%以上的键盘属于我上面提到的两种布局之一(我指的只是字母键及其相互关系)