2015-10-29 5 views
2

Я хочу установить оттенок searchIcon, цвет курсора, расположение подсказки (например, размер, цвет, значок). Как я могу контролировать внешний вид моего SearchView и его предложение?Как стиль android.support.v7.widget.SearchView

До сих пор у меня есть:

SearchView

<android.support.v7.widget.SearchView
  
    android:id="@+id/search_view" 

  android:layout_width="match_parent"
  
    android:layout_height="wrap_content"
  
    android:background="@color/primary_light"
  
    > 

searchable.xml

<?xml version="1.0" encoding="utf-8"?> 
<searchable xmlns:android="http://schemas.android.com/apk/res/android" 
    android:label="@string/app_label" 
    android:hint="@string/search_hint" 
    android:searchSuggestAuthority="com.example.MySuggestionProvider" 
    android:searchSuggestSelection=" ?" > 
</searchable> 

обновление

Так что я нашел следующее, что помогло немного, но я все еще не может установить размер текста в выпадающий

SearchView.SearchAutoComplete autoComplete = (SearchView.SearchAutoComplete) searchView.findViewById(R.id.search_src_text); 

ответ

-1

Попробуйте это:

<item 
     android:id="@+id/action_search" 
     android:orderInCategory="200" 
     android:title="Search" 
     android:icon="@drawable/search" 
     app:showAsAction="ifRoom|collapseActionView" 
     app:actionViewClass="android.support.v7.widget.SearchView"/> 
+0

этот код добавить меню –

+0

попробуйте прочитать вопрос перед ответом – SjoerdvGestel

2

У меня есть метод в моих Utils, которые делают некоторые изменения стиля для SearchView. Может быть, это может вам помочь.

Советую вам, чтобы этот метод не заботился о предложениях. Только для некоторых точек стиля SearchView:

public static SearchView customizeWhiteSearchView(SearchView sv, Context context, String hintText){ 

    EditText searchEditText = (EditText) sv.findViewById(android.support.v7.appcompat.R.id.search_src_text); 
    searchEditText.setTextColor(Color.WHITE); 
    searchEditText.setHintTextColor(context.getResources().getColor(R.color.light_light_gray)); 

    ImageView imgViewSearchView = (ImageView) sv.findViewById(android.support.v7.appcompat.R.id.search_button); 
    imgViewSearchView.setImageDrawable(context.getResources().getDrawable(R.drawable.button_cerca)); 

    SpannableStringBuilder ssb = new SpannableStringBuilder(" "); 
    if (hintText != null){ ssb.append(hintText); } 
    else{ ssb.append("Mínim 3 caràcters..."); } 

    Drawable searchIcon = context.getResources().getDrawable(R.drawable.button_cerca); 
    int textSize = (int) (searchEditText.getTextSize() * 1.25); 
    searchIcon.setBounds(0, 0, textSize, textSize); 
    ssb.setSpan(new ImageSpan(searchIcon), 1, 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
    searchEditText.setHint(ssb); 

    ImageView close = (ImageView) sv.findViewById(android.support.v7.appcompat.R.id.search_close_btn); 
    close.setImageResource(R.drawable.button_close); 

    return sv; 
} 
Смежные вопросы