gpt4 book ai didi

android - AutoCompleteTextView setDropDownWidth() 不工作

转载 作者:太空狗 更新时间:2023-10-29 14:10:51 24 4
gpt4 key购买 nike

我在 ActionBar 中实现了 SearchView,其中我使用 setSuggestionAdapter( )

我面临的问题是我无法让 setDropDownWidth()SearchView 的自定义 AutoCompleteTextView 上工作.我能够更改背景资源和几乎所有内容,除了 horizo​​ntaloffset 和 dropdownwidth。这是代码:

SearchView.SearchAutoComplete searchAutoComplete = (SearchView.SearchAutoComplete) searchView.findViewById(R.id.search_src_text);
searchAutoComplete.setDropDownAnchor(R.id.anchorView);
searchAutoComplete.setDropDownWidth(LinearLayout.LayoutParams.MATCH_PARENT);
searchAutoComplete.setDropDownBackgroundResource(R.drawable.white_bg);
searchAutoComplete.setMinimumWidth(AppUtil.getDeviceWidth(activityContext));

请帮帮我!我一直在测试的设备是带有 Lollipop 的 Nexus 4。

编辑:

我对为什么 setDropDownHeight() 有效但 setDropDownWidth() 无效感到困惑,即使在设置 int 值(例如 50)时也是如此。下拉菜单的宽度保持不变。我既不能减少也不能增加下拉菜单的宽度。它是带有 AppCompat 主题的 ActionBar 中的错误吗?

编辑 2:

我能够使方法 setDropDownWidth() 工作。我在 anchor View 上使用了 View.onLayoutChangeListener,在 onLayout() 内部方法中,我设置了下拉列表的宽度。它现在工作正常。我现在唯一的问题是为什么我们必须等待 anchor View 的布局更改监听器来设置下拉宽度?

最佳答案

来自文档

public void setDropDownWidth (int width) Added in API level 3 Sets the current width for the auto-complete drop down list. This can be a fixed width, or MATCH_PARENT to fill the screen, or WRAP_CONTENT to fit the width of its anchor view

我遇到了同样的问题,我认为这是因为它改变了 current,所以每次调用 TextChangeListener 时都需要调用它。所以我放置了文本观察器中的方法 & 它完美地工作:

 auto.addTextChangedListener(new TextWatcher() {

@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
// auto.setDropDownWidth(240);

}

@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
auto.setDropDownWidth(240);

}

关于android - AutoCompleteTextView setDropDownWidth() 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28605891/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com