gpt4 book ai didi

android - 如何更改/删除 SearchView 建议中的时钟图标

转载 作者:太空宇宙 更新时间:2023-11-03 11:02:40 25 4
gpt4 key购买 nike

我有黑色的建议布局,我将其更改为白色,文本颜色更改为黑色,但我对如何更改/删除建议布局中的时钟图标感到困惑。

enter image description here

我的风格

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:dropDownListViewStyle">@style/SpinnerStyle</item>
<item name="autoCompleteTextViewStyle">@style/myAutoCompleteTextViewStyle</item>
<item name="textAppearanceSearchResultTitle">@style/mySearchResult</item>

</style>

<style name="myAutoCompleteTextViewStyle" parent="Widget.AppCompat.Light.AutoCompleteTextView">
<item name="android:popupBackground">#ffffff</item>
</style>

<style name="mySearchResult" parent="TextAppearance.AppCompat.SearchResult.Title">
<item name="android:textColor">#000000</item>
</style>
<style name="SpinnerStyle" parent="Widget.AppCompat.ListView.DropDown">
<item name="android:divider">#d1d1d1</item>
<item name="android:dividerHeight">0.5dp</item>
</style>

编辑我正在使用此处提供的 searchview 最近搜索建议 https://developer.android.com/guide/topics/search/adding-recent-query-suggestions.html

最佳答案

您可以使用 this 的一些修改布局以获得所需的效果。这不是很好的方法,但它是有效的。

将此代码复制到文件并为其命名,例如 custom_search_suggestion.xml

<?xml version="1.0" encoding="utf-8"?>
<!--
/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="58dip"
style="@style/RtlOverlay.Widget.AppCompat.Search.DropDown">
<!-- Icons come first in the layout, since their placement doesn't depend on
the placement of the text views. -->
<ImageView
android:id="@android:id/icon1"
android:layout_width="@dimen/abc_dropdownitem_icon_width"
android:layout_height="48dip"
android:scaleType="centerInside"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:visibility="invisible"
style="@style/RtlOverlay.Widget.AppCompat.Search.DropDown.Icon1" />
<ImageView
android:id="@+id/edit_query"
android:layout_width="48dip"
android:layout_height="48dip"
android:scaleType="centerInside"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:background="?attr/selectableItemBackground"
android:visibility="gone"
style="@style/RtlOverlay.Widget.AppCompat.Search.DropDown.Query" />
<ImageView
android:id="@id/android:icon2"
android:layout_width="48dip"
android:layout_height="48dip"
android:scaleType="centerInside"
android:layout_alignWithParentIfMissing="true"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:visibility="gone"
style="@style/RtlOverlay.Widget.AppCompat.Search.DropDown.Icon2" />
<!-- The subtitle comes before the title, since the height of the title depends on whether the
subtitle is visible or gone. -->
<TextView android:id="@android:id/text2"
style="?android:attr/dropDownItemStyle"
android:textAppearance="?attr/textAppearanceSearchResultSubtitle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="29dip"
android:paddingBottom="4dip"
android:gravity="top"
android:layout_alignWithParentIfMissing="true"
android:layout_alignParentBottom="true"
android:visibility="gone" />
<!-- The title is placed above the subtitle, if there is one. If there is no
subtitle, it fills the parent. -->
<TextView android:id="@android:id/text1"
style="?android:attr/dropDownItemStyle"
android:textAppearance="?attr/textAppearanceSearchResultTitle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_above="@android:id/text2" />
</RelativeLayout>

更改此代码

<ImageView
android:id="@android:id/icon1"
android:layout_width="@dimen/abc_dropdownitem_icon_width"
android:layout_height="48dip"
android:scaleType="centerInside"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:visibility="invisible"
style="@style/RtlOverlay.Widget.AppCompat.Search.DropDown.Icon1" />

为此:

<ImageView
android:id="@android:id/icon1"
android:layout_width="0dip"
android:layout_height="0dip"
android:scaleType="centerInside"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:visibility="invisible"
style="@style/RtlOverlay.Widget.AppCompat.Search.DropDown.Icon1" />

这意味着,我们将高度和宽度更改为零值,它不会出现在建议列表中。

最后将它设置为您的 SearchView:

<android.support.v7.widget.SearchView
android:id="@+id/sv_search"
android:layout_width="match_parent"
android:layout_height="32dp"
app:iconifiedByDefault="false"
<!-- HERE -->
app:suggestionRowLayout="@layout/include_search_suggestion_item"
app:searchIcon="@null"
app:searchHintIcon="@null"
app:queryHint="@string/search"
android:background="#F3F3F3"
app:queryBackground="@android:color/transparent"/>

它会成功的

enter image description here

如果您知道更合适的解决方案,请在下面的评论中发布。谢谢!

关于android - 如何更改/删除 SearchView 建议中的时钟图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38959431/

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