在Android中更改AutoCompleteTextView的宽度

我被困了几天。 我有一个autoCompleteTextView和button分割50/50在我的布局。 自动完成工作,但build议只占用了一半的屏幕(相当于我的textView占用的大小)。 我怎么能改变这个占据整个宽度?

请原谅我可怕的油漆技巧:

蓝色= AutoCompleteTextView红色=所需的自动填充build议

这看起来像一个微不足道的问题,但只是改变宽度fill_parent不起作用。 任何想法XML或编程?

解决scheme: myAutoCompleteTextView.setDropDownWidth(ViewGroup.LayoutParams.MATCH_PARENT)

在这里输入图像说明

编辑:我的第一个问题似乎解决了,但现在如果我切换我的button和我的autoCompleteTextView我得到另一个奇怪的问题。 宽度从textView开始的位置开始。 给我留下一个不可思议的结果。

解决scheme:请参阅用户:vikram的编辑1

在这里输入图像说明

Solutions Collecting From Web of "在Android中更改AutoCompleteTextView的宽度"

您可以使用以下属性在此小部件的描述中设置此属性:

android:dropDownWidth="match_parent" 

如果你想在java中以“编程”的方式做到这一点,使用方法setDropDownWidth(int)

 myAutoCompleteTextView.setDropDownWidth(int) 

编辑1:

 Point pointSize = new Point(); getWindowManager().getDefaultDisplay().getSize(pointSize); myAutoCompleteTextView.setDropDownWidth(pointSize.x); 

我发现setDropDownAnchor()要方便得多。

只要传递一些视图的ID,下拉视图将匹配其宽度和位置(无论在哪里放置实际的文本视图)。

在你的例子中,它可能是button和文本视图的父项。

您还可以调整宽度的起始位置:

 myAutoCompleteTextView.setDropDownHorizontalOffset(int offset)