使用操作栏的安卓搜索功能



如何在操作栏中实现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" />

相关内容

  • 没有找到相关文章

最新更新