我已经为此困扰了几天。我的布局中有一个autoCompleteTextView和一个拆分为50/50的按钮。自动完成功能有效,但建议仅占据屏幕的一半(相当于我的textView占据的大小)。我如何更改此尺寸以占据整个宽度?
原谅我可怕的绘画技巧:
蓝色= AutoCompleteTextView红色=所需的自动填充建议
这似乎是一个小问题,但仅将宽度更改为fill_parent无效。任何想法xml或以编程方式?
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9Zajd6QS5wbmcifQ==” alt =“在此处输入图像描述”>
编辑:我的第一个问题似乎已经解决,但是现在如果我切换按钮和autoCompleteTextView,我会遇到另一个奇怪的问题。宽度从textView的起始位置开始。给我留下不希望的结果。
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9sZEJqNy5wbmcifQ==” alt =“在此处输入图像描述”>
您可以使用属性在此小部件的描述中设置此属性:
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,下拉视图将匹配其宽度和位置(无论实际文本视图位于何处)。
在您的示例中,可能是按钮和文本视图的父项。
您还可以调整宽度的起始位置:
myAutoCompleteTextView.setDropDownHorizontalOffset(int offset)
就我而言,AutoCompleteTextView
占据了整个宽度。看着change position of spinner dropdown list我设置
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
创建列表的左边距和右边距。