Android autoCompleteTextView随屏幕大小而变化?

时间:2012-01-20 10:07:43

标签: android autocompletetextview

你好Android开发者,

我对autocompletetextview有疑问。我正在平板电脑上开发,我很好地定制了它。当我在平板电脑上运行时,它看起来像这样: Tablet view

这实际上就是我想要的 - 一切可见,小物品,蓝色而不是橙色。凉。 当我在较小的设备上运行完全相同的应用程序时会发生这种情况,例如Nexus-S:

Nexus view

原始视图消失,有橙色的东西,我最多只能看到一个或两个建议的项目。这不是我的意图。

如果我不是在风景中运行这个应用程序,而是在肖像中,一切正常。疯。 有人知道我可以做些什么来保持自定义布局在较小的屏幕上吗?

1 个答案:

答案 0 :(得分:1)

此处显示的第二张图片是设备处于横向模式时自动完成文本查看或编辑文字的结果。

如果设备处于纵向模式,它将在垂直列表中显示建议,而对于横向模式,它将以水平列表显示,并尝试使用编辑文本和软键盘填充整个屏幕。

我也遇到同样的问题,请查看Android开发者网站,了解有关支持多个屏幕的信息,它可能对您有帮助。

新答案

要在按“完成”按钮时隐藏软键盘,必须使用imeOptions进行AutoCompleteTextView。对代码进行这些更改并尝试。

对XML布局文件的更改如下

<AutoCompleteTextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:imeOptions="actionDone"
    android:id="@+id/actv" />

在java文件中

        actv = (AutoCompleteTextView)findViewById(R.id.actv);
        actv.setOnEditorActionListener(new OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                if (actionId == EditorInfo.IME_ACTION_DONE) {
                    InputMethodManager imm = (InputMethodManager)v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
                    imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
                    return true;    
                }
                return false;
            }           
        });

我希望它可以帮助你。