中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

Android頂部搜索框怎么實現

小億
123
2023-10-26 10:40:30
欄目: 編程語言

要實現Android頂部搜索框,可以使用Toolbar和SearchView組件。

首先,在你的布局文件中添加一個Toolbar組件作為頂部導航欄:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/colorPrimary"
    android:elevation="4dp"
    android:theme="@style/ThemeOverlay.AppCompat.ActionBar" />

然后,在你的Activity中找到Toolbar并設置為ActionBar:

Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

接下來,在 onCreateOptionsMenu 方法中加載菜單文件,并設置搜索框的監聽器:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_main, menu);

    SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    SearchView searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
    searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
    searchView.setMaxWidth(Integer.MAX_VALUE);

    searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String query) {
            // 處理搜索提交事件
            return false;
        }

        @Override
        public boolean onQueryTextChange(String newText) {
            // 處理搜索文本變化事件
            return false;
        }
    });

    return true;
}

最后,在菜單文件中定義搜索框的樣式和行為:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/action_search"
        android:title="Search"
        android:icon="@drawable/ic_search"
        android:showAsAction="ifRoom|collapseActionView"
        android:actionViewClass="android.support.v7.widget.SearchView" />
</menu>

這樣,你就可以在Android頂部導航欄中實現一個搜索框了。你可以根據需要進一步進行自定義和調整。

0
姚安县| 大同县| 桑日县| 阜南县| 五寨县| 个旧市| 伊金霍洛旗| 青州市| 云林县| 枞阳县| 鹤山市| 威宁| 顺昌县| 临武县| 栾城县| 广昌县| 周口市| 贵州省| 洪雅县| 小金县| 贺州市| 中方县| 安远县| 海林市| 克山县| 昌江| 铜梁县| 清新县| 舟山市| 塔城市| 江永县| 安国市| 夏邑县| 塘沽区| 茂名市| 吴忠市| 沅江市| 那曲县| 长治县| 新余市| 鄄城县|