2

我目前正在我的平板电脑(Android 3.2)上试验示例软键盘。当我打开 Google 邮件应用程序并将焦点设置到收件人字段时,文本字段会展开以填充键盘上方的可用空间。 使用示例软键盘进行布局

这看起来很像文档中的屏幕输入方法中描述的全屏提取模式。根据我在那里收集的信息,这是由使用 SoftKeyboard 的活动设置的。

让我烦恼的是

  • 这对于收件人输入字段来说不是很方便(尽管这可能是个人喜好问题)
  • 库存软键盘设法防止这种情况发生,如下所示: 使用股票软键盘进行布局
  • 有时输入框中的文本颜色设置为白色(可能是由于白天/夜间的一些调整?)。白底白字或多或少不可读。

所以我的问题是:我必须改变什么才能在示例软键盘中获得类似的行为?

谢谢,一切顺利

安德烈亚斯

4

3 回答 3

1

示例软键盘非常过时——它使用了自 Froyo/Eclair 以来从未见过的布局。

示例软键盘就是这样:一个示例,不要与成熟的 android 键盘混淆。如果您正在寻找 Android 键盘的完整实现,请查看 AnySoftKeyboard 的源代码或 AOSP 源代码。

为了摆脱全屏,我知道部分问题在于onComputeInsets()功能。就像我说的那样,我会将您的代码基于完整的 Android 键盘(即 AOSP 或 Cyanogenmod),而不是试图让示例工作。我尝试了几个月,但您会遇到太多问题(多点触控和主题,仅举几例)。

如果您有任何问题,请给我发送电子邮件。

于 2012-04-09T03:29:30.103 回答
0

您可以使用按钮设计您想要的软键盘布局,textview 任何您想在键盘上显示的内容。

并将 setOnclickListener 设置为键盘的所有按钮

像这样覆盖 onCreateInputView()

@Override 
public View onCreateInputView() {
     View   mInputView = getLayoutInflater().inflate(
                R.layout.yourkeyboardlayout, null);




            Button btn1 =   mInputView.findViewById(R.id.btn1);

            btn1 .setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                // append text in selected TextField

                String buttonLabel = ((Button)v).getText().toString();
                getCurrentInputConnection().commitText(buttonLabel, 1);


            }
        });



        return mInputView;
    }
于 2012-04-05T14:33:27.613 回答
0

我在创建自己的键盘时遇到了类似的问题,这篇博文几乎回答了我需要知道的内容:

http://android-developers.blogspot.com/2009/04/updating-applications-for-on-screen.html

也许它也会帮助你。

于 2013-09-23T15:36:17.107 回答