Настройка SearchView

Я использую функцию поиска Android, определенную в AndroidManifest.xml как:

    <meta-data
        android:name="android.app.default_searchable"
        android:value=".activity.SearchableActivity"/>

    <activity
        android:name=".activity.SearchableActivity"
        android:logo="@drawable/ic_launcher"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:launchMode="singleTop"
        android:theme="@style/AppTheme">
        <intent-filter>
            <action android:name="android.intent.action.SEARCH"/>
        </intent-filter>

        <meta-data
            android:name="android.app.searchable"
            android:resource="@xml/searchable"/>
    </activity>

    <provider
        android:name=".provider.SearchResultsProvider"
        android:authorities="com.example.search"
        android:exported="false"/>

    <provider
        android:name=".provider.SearchSuggestionsProvider"
        android:authorities="com.example.search.suggest"
        android:exported="false"/>

с searchable.xml:

<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
    android:hint="@string/search_hint"
    android:label="@string/app_name"
    android:voiceLanguageModel="web_search"
    android:voiceSearchMode="showVoiceSearchButton|launchRecognizer"
    android:queryAfterZeroResults="false"
    android:searchSuggestAuthority="com.example.search.suggest"
    android:searchSuggestIntentAction="android.intent.action.VIEW">
</searchable>

где SearchableActivity продолжается android.support.v7.app.AppCompatActivity,

Я пытаюсь настроить заголовок и субтитры в SearchView выпадающий список результатов в соответствии с данным руководством. Как я могу найти из \appcompat-v7\25.3.1\appcompat-v7-25.3.1-sources.jar Вышеуказанные представления определены в abc_search_dropdown_item_icons_2line.xmlкак:

<!-- 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" />

Затем я добавил настройку вышеупомянутых видов в styles.xml:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>

    <item name="textAppearanceSearchResultTitle">@style/CustomSearchResultTitle</item>
    <item name="textAppearanceSearchResultSubtitle">@style/CustomSearchResultSubtitle</item>
</style>

<style name="CustomSearchResultTitle" parent="TextAppearance.AppCompat.SearchResult.Title">
    <item name="android:textColor">@android:color/holo_red_dark</item>
</style>

<style name="CustomSearchResultSubtitle" parent="TextAppearance.AppCompat.SearchResult.Subtitle">
    <item name="android:textColor">@android:color/holo_red_dark</item>
</style>

Но это не влияет на мой SearchView- он имеет вид по умолчанию с черным заголовком и субтитрами! Можно ли их настроить и как, если это так!?

PS: Проект на GitHub для демонстрации вышеупомянутых проблем.

0 ответов

Другие вопросы по тегам