繁体   English   中英

在 Android 中更改 AutoCompleteTextView 的宽度

[英]Changing the width of AutoCompleteTextView in Android

我已经被这个问题难住了几天。 我的布局中有一个 autoCompleteTextView 和一个按 50/50 分割的按钮。 自动完成工作,但建议只占屏幕的一半(相当于我的 textView 占用的大小)。 我怎么能改变它以占据整个宽度?

原谅我糟糕的绘画技巧:

蓝色 = AutoCompleteTextView 红色 = 所需的自动完成建议

这似乎是一个微不足道的问题,但简单地将宽度更改为 fill_parent 是行不通的。 任何想法 xml 或以编程方式?

解决方案: myAutoCompleteTextView.setDropDownWidth(ViewGroup.LayoutParams.MATCH_PARENT)

在此处输入图片说明

编辑:我的第一个问题似乎已经解决了,但是现在如果我切换按钮和 autoCompleteTextView,我会遇到另一个奇怪的问题。 宽度从 textView 开始的地方开始。 给我留下了不希望的结果。

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

在此处输入图片说明

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

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,下拉视图将匹配其宽度和位置(无论实际文本视图放置在哪里)。

在您的示例中,这可能是两者的父级:按钮和文本视图。

在我的情况下AutoCompleteTextView占据了整个宽度。 查看我设置的微调下拉列表的更改位置

android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"

创建列表的左右边距。

在此处输入图片说明

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

myAutoCompleteTextView.setDropDownHorizontalOffset(int offset)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM