gpt4 book ai didi

android - 为什么 Searchview 搜索图标没有显示 collapseActionView 属性?

转载 作者:行者123 更新时间:2023-12-05 00:06:54 25 4
gpt4 key购买 nike

我正在 android 工具栏中创建 searchview,但每当我在 menu.xml 项目中提到 collapseActionView 属性时,如:-

<item android:id="@+id/search"
android:title="@string/search_title"
app:showAsAction="always|collapseActionView"
app:actionLayout="@layout/search_view_layout"/>

这里的 search_view_layout.xml 如下:-

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.SearchView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="35dp"/>

在这种情况下,我的 searchView 看起来如下图:-

enter image description here

在上面的图片中搜索图标没有出现。当我单击此搜索标题时 SearchView 打开为:-

enter image description here

我不明白,为什么不隐藏 Kart 菜单项,也不从 style.xml 导入任何样式属性:-

<style name="SearchViewStyle" parent="Widget.AppCompat.SearchView">
<item name="queryBackground">@color/white</item>
<item name="searchIcon">@drawable/search</item>
<item name="goIcon">@drawable/ic_search</item>
<item name="android:textColor">@color/black</item>
<item name="android:layout_height">35dp</item>
<item name="android:height">35dp</item>

但我想按如下方式设计 Searchview:-

Desired Searview for App

如有任何建议,我们将不胜感激。

最佳答案

在你的菜单中添加

    <item
android:id="@+id/search"
android:icon="@drawable/ic_search"
android:title="@string/search"
yourapp:showAsAction="ifRoom|collapseActionView"
yourapp:actionViewClass="android.support.v7.widget.SearchView"
/>

在你的java类中

   SearchManager searchManager = (SearchManager) context.getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView();

searchView.setSearchableInfo(searchManager.getSearchableInfo(((AppCompatActivity) context).getComponentName()));
searchView.setIconifiedByDefault(false);
searchView.setOnQueryTextListener(this);

要应用样式,请将其添加到您的 style.xml

  <style name="MyToolbar" parent="AppTheme">
<item name="searchViewStyle">@style/searchStyle</item>
</style>

<style name="searchStyle" parent="Widget.AppCompat.SearchView.ActionBar">
<item name="queryHint">@string/search</item>
<item name="searchIcon">@null</item>
<item name="colorControlActivated">@color/accent</item>
<item name="colorControlNormal">@color/accent</item>
</style>

最后在你的工具栏中应用上面的主题

  <android.support.v7.widget.Toolbar
android:id="@+id/my_toolbar"
android:layout_width="match_parent"
android:minHeight="?attr/actionBarSize"
android:theme="@style/MyToolbar"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
>
</android.support.v7.widget.Toolbar>

关于android - 为什么 Searchview 搜索图标没有显示 collapseActionView 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43237525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com