gpt4 book ai didi

android - 如何更改 SearchView 后退按钮

转载 作者:太空狗 更新时间:2023-10-29 16:27:35 26 4
gpt4 key购买 nike

我的工具栏上有一个 SearchView,我想更改默认后退按钮的图标。

这是我的工具栏:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/my_awesome_toolbar"
android:layout_width="fill_parent"
android:layout_height="?android:attr/actionBarSize"
app:titleTextColor="@android:color/black"
android:elevation="5dp">

</android.support.v7.widget.Toolbar>

这是我的 SearchView 的布局:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

<item android:id="@+id/search"
android:title="@string/search"
app:icon="@drawable/ic_search_black_24dp"
android:icon="@drawable/ic_search_black_24dp"
app:showAsAction="always|collapseActionView"
android:maxWidth="50dp"
app:actionViewClass="android.support.v7.widget.SearchView"/>

</menu>

这就是我在 Activity 中创建选项菜单的方式:

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

SearchManager searchManager = (SearchManager)
getSystemService(Context.SEARCH_SERVICE);
searchMenuItem = menu.findItem(R.id.search);

searchView = (SearchView) searchMenuItem.getActionView();

ImageView searchClose = (ImageView) searchView.findViewById(android.support.v7.appcompat.R.id.search_close_btn);
searchClose.setImageResource(R.drawable.ic_action_cancel_black);
searchClose.setVisibility(View.VISIBLE);

LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) searchClose.getLayoutParams();
params.gravity = Gravity.RIGHT;
searchClose.setLayoutParams(params);

searchClose.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {

//Clear query
searchView.setQuery("", false);
//Collapse the action view
searchView.onActionViewCollapsed();
//Collapse the search widget
searchMenuItem.collapseActionView();

listview.setVisibility(View.GONE);

viewPager.bringToFront();

appBarLayout.setVisibility(View.VISIBLE);
}
});

for (TextView textView : findChildrenByClass(searchView, TextView.class)) {
textView.setTextColor(Color.BLACK);
textView.setHintTextColor(Color.BLACK);
}

searchView.setSearchableInfo(searchManager.
getSearchableInfo(getComponentName()));
searchView.setSubmitButtonEnabled(true);
searchView.setOnQueryTextListener(this);

return true;
}

这个的输出是:

enter image description here

我想要的是在右侧隐藏此图标,或者至少将图标更改为我在发布的有关我的 Activity 的代码中定义为 ImageView 的“x”图像。

最佳答案

通过Style改变是最简单的方法。

<style name="Theme.myCustomThemeForMyApp" parent="android:Theme.Holo">
<item name="android:homeAsUpIndicator">@drawable/myCustomUpIndicator</item>

这里我将修改以提供进一步的帮助。

   <!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowBackground">@color/white</item>
<item name="android:actionMenuTextColor">@color/white</item>
<item name="android:homeAsUpIndicator">@drawable/ic_account</item>
</style>

这是一个基本主题的正常示例,它修改了主要颜色、主要深色、重音、windowbackground actionmenu 文本颜色,最后是 homeAsUpIndicator 可绘制对象。

然后像这样将它应用到您的 Activity 或应用中:

<application
android:name="com.appstudio35.application.A35Application"
android:allowBackup="true"
android:icon="@drawable/app_icon"
android:label="@string/app_name"
android:roundIcon="@drawable/app_icon"
android:supportsRtl="true"
android:theme="@style/AppTheme">

您还可以选择将主题移动到类似扩展父主题的子样式,并从基本主题中删除可绘制对象以避免影响所有 Activity :

 <style name="AppTheme.CustomUp">
<item name="android:homeAsUpIndicator">@drawable/ic_account</item>
</style>

并且仅适用于这样的特定 Activity :

<activity
android:name="com.appstudio35.activities.MainActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.CustomUp"/>

关于android - 如何更改 SearchView 后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46333138/

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