【问题标题】:Android Persistent Search Bar in Toolbar工具栏中的 Android 持久搜索栏
【发布时间】:2016-05-06 05:33:50
【问题描述】:

我对 Android 开发还很陌生。我参加了 Google Udacity 课程,目前正在尝试编写一个应用程序。具体来说,我正在尝试将我当前的应用(用 QT 编写)切换到原生 Android。

我正在尝试做类似这样的事情:

摘自 User Experience Stack Exchange 上的 Material Design - Persistent search, with navigation drawer 问题。

我可以做顶部,但我不知道如何在底部获得持久搜索栏。我一直在尝试不同的解决方案(活动栏和工具栏的自定义主题),但甚至无法远程接近。有人可以帮我解决这个问题吗?

【问题讨论】:

  • 即两个工具栏,一个设置为活动的支撑动作栏(高度为0dp),一个位于其下方,高度为4dp,layout_margin为16dp。我在这里假设的值,但我认为是正确的。控制搜索的小部件是 SearchView,它是第二个工具栏中的菜单项。
  • 哇,我什至没有想到使用这种方法!谢谢,马上试试。
  • 当您说 udacity 课程时,您是指纳米学位还是其中一门课程?我现在正在学习纳米学位课程

标签: android material-design persistent searchbar


【解决方案1】:

只需将所有内容放在 AppBarLayout 中。用于持久搜索的工具栏和任何库。 Here 很有用,所以最后把你的 layout_height 设置为 AppBarLayout。像这样的

<android.support.design.widget.AppBarLayout
    android:id="@id/app_bar_layout"
    android:layout_width="match_parent"
    android:layout_height="@dimen/margin_130"
    android:background="@drawable/bg_tab_degraded"
    android:theme="@style/ThemeOverlay.AppCompat.Dark">

    <android.support.v7.widget.Toolbar
        android:id="@id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@drawable/bg_tab_degraded"
        app:layout_scrollFlags="scroll|enterAlways"
        />

    <com.arlib.floatingsearchview.FloatingSearchView
        android:id="@+id/floating_search_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/bg_tab_degraded"
        app:floatingSearch_searchBarMarginLeft="@dimen/margin_20"
        app:floatingSearch_searchBarMarginTop="@dimen/margin_5"
        app:floatingSearch_searchBarMarginRight="@dimen/margin_20"
        app:floatingSearch_searchHint="Search..."
        app:floatingSearch_suggestionsListAnimDuration="250"
        app:floatingSearch_showSearchKey="false"
        app:floatingSearch_leftActionMode="showSearch"
        app:floatingSearch_menu="@menu/main"
        app:floatingSearch_close_search_on_keyboard_dismiss="true"/>



</android.support.design.widget.AppBarLayout>

希望对你有帮助。祝你好运。

【讨论】:

    【解决方案2】:

    你可以试试PersistentSearch

    search = (SearchBox) findViewById(R.id.searchbox);
    for(int x = 0; x < 10; x++){
        SearchResult option = new SearchResult("Result " + Integer.toString(x), getResources().getDrawable(R.drawable.ic_history));
        search.addSearchable(option);
    }       
    search.setLogoText("My App");
    search.setMenuListener(new MenuListener(){
    
            @Override
            public void onMenuClick() {
                //Hamburger has been clicked
                Toast.makeText(MainActivity.this, "Menu click", Toast.LENGTH_LONG).show();              
            }
    
        });
    search.setSearchListener(new SearchListener(){
    
        @Override
        public void onSearchOpened() {
            //Use this to tint the screen
        }
    
        @Override
        public void onSearchClosed() {
            //Use this to un-tint the screen
        }
    
        @Override
        public void onSearchTermChanged() {
            //React to the search term changing
            //Called after it has updated results
        }
    
        @Override
        public void onSearch(String searchTerm) {
            Toast.makeText(MainActivity.this, searchTerm +" Searched", Toast.LENGTH_LONG).show();
    
        }
    
        @Override
        public void onResultClick(SearchResult result){
            //React to a result being clicked
        }
    
    
        @Override
        public void onSearchCleared() {
    
        }
    
    });
    

    同时检查https://github.com/UsherBaby/SearchView-1

    【讨论】:

    • 看起来并不完全是 OP 想要实现的目标。
    • 下面的工具栏只添加这个搜索视图
    • 现在已弃用
    【解决方案3】:

    你可以试试这个。我用过这个github库

    https://github.com/arimorty/floatingsearchview

    【讨论】:

      猜你喜欢
      • 2015-04-02
      • 1970-01-01
      • 2017-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-04
      • 2022-12-07
      • 1970-01-01
      相关资源
      最近更新 更多