删除 AutoCompleteTextView 弹出窗口的过度滚动效果 (Android Studio / Java / XML)
Remove overscroll effect on AutoCompleteTextView popup (Android Studio / Java / XML)
我目前正在尝试消除 AutoCompleteTextView 弹出窗口的过度滚动效果,
但是我尝试过的一切都没有用。我的 AutoCompleteTextView 使用一个 ArrayAdapter 来存储关键字和一个简单的布局来显示它的项目。
ArrayAdapter 的设置:
String[] keywords = new String[] { "test", "test2", "test3", "test4", "test5" };
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, keywords);
((AutoCompleteTextView)findViewById(R.id.actvSearch)).setAdapter(adapter);
为了消除效果,我尝试设置了 AutoCompleteTextView 的 overScrollMode,但这似乎对弹出窗口没有任何影响。
是否有任何方法可以将弹出窗口的 overScrollMode 设置为“从不”或任何简单的(不覆盖 ArrayAdapter class)方法来限制一次显示的项目数量,以便连滚动效果都没有出现?
谢谢,Ypselon。
我找到了一个通过覆盖 getView()
方法来消除滚动效果的解决方案。所以在 getView()
方法中将这一行添加到父级:
parent.setOverScrollMode(View.OVER_SCROLL_NEVER);
您的适配器应该如下所示
String[] keywords = new String[] { "test", "test2", "test3", "test4", "test5" };
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, keywords){
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
parent.setOverScrollMode(View.OVER_SCROLL_NEVER);
return super.getView(position, convertView, parent);
}
};
((AutoCompleteTextView)findViewById(R.id.actvSearch)).setAdapter(adapter);
注意:每次滚动列表时都会调用parent.setOverScrollMode(View.OVER_SCROLL_NEVER);
我目前正在尝试消除 AutoCompleteTextView 弹出窗口的过度滚动效果, 但是我尝试过的一切都没有用。我的 AutoCompleteTextView 使用一个 ArrayAdapter 来存储关键字和一个简单的布局来显示它的项目。
ArrayAdapter 的设置:
String[] keywords = new String[] { "test", "test2", "test3", "test4", "test5" };
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, keywords);
((AutoCompleteTextView)findViewById(R.id.actvSearch)).setAdapter(adapter);
为了消除效果,我尝试设置了 AutoCompleteTextView 的 overScrollMode,但这似乎对弹出窗口没有任何影响。
是否有任何方法可以将弹出窗口的 overScrollMode 设置为“从不”或任何简单的(不覆盖 ArrayAdapter class)方法来限制一次显示的项目数量,以便连滚动效果都没有出现?
谢谢,Ypselon。
我找到了一个通过覆盖 getView()
方法来消除滚动效果的解决方案。所以在 getView()
方法中将这一行添加到父级:
parent.setOverScrollMode(View.OVER_SCROLL_NEVER);
您的适配器应该如下所示
String[] keywords = new String[] { "test", "test2", "test3", "test4", "test5" };
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, keywords){
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
parent.setOverScrollMode(View.OVER_SCROLL_NEVER);
return super.getView(position, convertView, parent);
}
};
((AutoCompleteTextView)findViewById(R.id.actvSearch)).setAdapter(adapter);
注意:每次滚动列表时都会调用parent.setOverScrollMode(View.OVER_SCROLL_NEVER);