为什么Android示例软键盘布局是这样的?

时间:2012-04-05 08:35:51

标签: android android-layout android-softkeyboard

我正在尝试使用平板电脑上的示例SoftKeyboard(Android 3.2)。 当我打开Goog​​le邮件应用并将焦点设置为收件人字段时,文本字段会展开以填充键盘上方的可用空间。 Layout with the sample SoftKeyboard

这看起来非常像全屏提取模式,如文档中的Onscreen Input Methods所述。根据我在那里收集的内容,这是由活动设置的,它使用SoftKeyboard。

我的错误是

  • 这对收件人输入字段来说不太方便(虽然这可能是一个品味问题)
  • 库存软键盘设法防止这种情况,如下所示: Layout with the stock softkeyboard
  • 有时候输入框中的文字颜色也会设置为白色(可能是由于白天/夜晚的某些调整?)。白色的白色或多或少是不可读的。

所以我的问题是:在示例SoftKeyboard中我需要更改什么才能获得类似的行为?

谢谢&一切顺利

安德烈亚斯

3 个答案:

答案 0 :(得分:1)

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

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

为了摆脱全屏,我知道问题的一部分在于onComputeInsets()功能。就像我说的那样,我将你的代码基于完整的Android键盘(即AOSP或Cyanogenmod),而不是试图让样本工作。我试了好几个月,而且你遇到的问题太多了(多点触控和主题,只是为了说出几个人)。

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

答案 1 :(得分: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;
    }

答案 2 :(得分:0)

我有一个类似的问题,因为我创建了自己的键盘,这篇博文几乎回答了我需要知道的事情:

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

也许它对你有帮助。