如何在操作栏中实现YouTube应用程序,如搜索功能,它如何从服务器动态搜索字符串,并在列表视图中显示。我不知道如何在其中添加动态搜索功能,哪个响应来自服务器。
步骤 - 1
如果搜索结果有更多内容,则必须实现对服务器的onTextChange调用,并在文本更改时检索列表。
或
如果您有小列表,则可以在活动开始时检索整个列表。
步骤 - 2
在自动完成文本视图的适配器中设置数据。
这正是
你要找的,尽量使用MaterialSearchView
MaterialSearchView searchView = (MaterialSearchView) findViewById(R.id.search_view);
searchView.setOnQueryTextListener(new MaterialSearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
//Do some magic
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
//Do some magic
return false;
}
});
searchView.setOnSearchViewListener(new MaterialSearchView.SearchViewListener() {
@Override
public void onSearchViewShown() {
//Do some magic
}
@Override
public void onSearchViewClosed() {
//Do some magic
}
});
您可以使用
此库。
法典:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_search: {
mSearchView.show(true/false); // animate, ONLY FOR MENU ITEM
return true;
}
default:
return super.onOptionsItemSelected(item);
}
}
.XML:
<com.lapism.searchview.SearchView
android:id="@+id/searchView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
样式搜索视图:
<attr name="search_version" format="enum">
<enum name="toolbar" value="1000" />
<enum name="menu_item" value="1001" />
</attr>
<attr name="search_version_margins" format="enum">
<enum name="toolbar_small" value="2000" />
<enum name="toolbar_big" value="2001" />
<enum name="menu_item" value="2002" />
</attr>
<attr name="search_theme" format="enum">
<enum name="light" value="3000" />
<enum name="dark" value="3001" />
</attr>
<attr name="search_icon_color" format="color" />
<attr name="search_background_color" format="color" />
<attr name="search_text" format="string" />
<attr name="search_text_color" format="color" />
<attr name="search_text_size" format="dimension" />
<attr name="search_hint" format="string" />
<attr name="search_hint_color" format="color" />
<attr name="search_divider" format="boolean" />
<attr name="search_voice" format="boolean" />
<attr name="search_voice_text" format="string" />
<attr name="search_animation_duration" format="integer" />
<attr name="search_shadow" format="boolean" />
<attr name="search_shadow_color" format="boolean" />
<attr name="search_elevation" format="dimension" />