1

我正在开发一个使用 Google Places 自动完成功能的 android 应用程序。

当我从自动完成列表视图中选择一个项目时,整个字符串显示在自动完成文本视图中,当它不适合一行时,文本视图会自动变大以适应整个字符串。

我不希望这种情况发生,我希望文本视图保持相同的大小,如果看不到整个字符串也没关系。我怎样才能做到这一点??

关于自动完成文本视图的另一个问题。我需要在文本视图旁边有一个按钮,以便用户可以提交搜索。建议的列表视图仅与自动完成文本视图一样宽,它不会填满屏幕的整个宽度,因为在文本视图的右侧有一个按钮。我可以让建议列表视图填满屏幕的宽度吗?

4

4 回答 4

2
  1. android:singleLine参考singleLine
  2. 如果你想提出建议listview,你可以使用这些属性android:dropDownWidth="xx dp"参考这里android:dropDownWidth。您应该在运行时计算屏幕尺寸以获得正确的值。

其他属性可以帮助您android:dropDownHorizontalOffset 在此处对齐下拉列表视图

于 2012-10-09T01:59:26.220 回答
0

试试maxWidth

android:maxWidth

Makes the TextView be at most this many pixels wide.

Must be a dimension value, which is a floating point number appended with a unit such
as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp 
(scaled pixels based on preferred font size), in (inches), mm (millimeters).

This may also be a reference to a resource (in the form "@[package:]type:name") or
theme attribute (in the form "?[package:][type:]name") containing a value of this type.

This corresponds to the global attribute resource symbol maxWidth.

Related Methods

setMaxWidth(int)

编辑 - 您可以使用android:imeOptionsactionGo“开始”按钮添加到弹出键盘。

于 2012-10-09T01:08:39.810 回答
0

我希望文本视图保持相同的大小,如果看不到整个字符串也没关系

您可以android:singleLine参考singleLine使用。

我可以让建议列表视图填满屏幕的宽度吗?

不要认为你可以通过使用 AutoCompleteTextView。您可以寻求用户:Bill Gary的建议,通过添加一个android:imeOptions="actionGo",您可以Go在软键盘上拥有一个按钮。然后,在您的 Activity 上,添加OnEditorActionListener到您的 AutoCompleteTextView :

    actv.setOnEditorActionListener(new OnEditorActionListener() {

        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            // TODO Auto-generated method stub
            if (actionId == EditorInfo.IME_ACTION_GO) {
                Toast.makeText(MainActivity.this, "GO", Toast.LENGTH_SHORT).show();
                return true;
            }
            return false;
        }
    });
于 2012-10-09T01:50:35.210 回答
0
AutoCompleteTextView a=(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView);
String s[]={"Monday","Tuesday","Wednesday","Months"};
ArrayAdapter<String> adapter=new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_list_item_1,s);
a.setAdapter(adapter);
于 2018-04-23T15:33:55.360 回答