我在Android应用中添加了一个稍微修改过的Gingerbread键盘版本。这适用于大多数设备,但很少有用户报告显示问题。
作为简化示例,我使用了Gingerbread keyboard on Github中的代码。我也可以在那里重现问题:
在GenyMotion仿真器(Nexus 7,Android 4.1.1,API 16,1280x800)中可以看到一个问题,我自己编写的键盘看起来像
从Play商店(https://play.google.com/store/apps/details?id=com.moo.android.inputmethod.latin.free&hl=de)安装Gingerbread键盘似乎是正确的:
键盘行高度定义为
<Keyboard
xmlns:android="http://schemas.android.com/apk/res/android"
android:keyWidth="10%p"
android:horizontalGap="0px"
android:verticalGap="@dimen/key_bottom_gap"
android:keyHeight="@dimen/key_height"
>
带
<dimen name="key_height">0.290in</dimen>
适用于所有屏幕尺寸(没有值-hdpi或类似,只有值文件夹)。
现在我想知道可能导致这种行为的原因是什么?为什么“我的”键盘与Play商店版本不同?当然我无法保证它的代码完全相同,但是由于AOSP的Gingerbread键盘代码看起来一样,我想这对我的工具链或清单来说更加困难?
我尝试使用Android SDK级别17和SDK级别8,但结果相同。还有什么想法吗?
答案 0 :(得分:0)
不要在键盘定义中使用android:keyHeight="@dimen/key_height"
,而是尝试使用android:keyHeight="6%p"
之类的内容。您可能需要使用百分比来使其看起来正确。