How to set SearchView TextSize?

前端 未结 6 1636
梦毁少年i
梦毁少年i 2020-12-14 15:44

I have a SearchView inside a LinearLayout and I\'m trying to set a different TextSize for it (the SearchView) but when se

相关标签:
6条回答
  • 2020-12-14 16:11

    Though AutoCompleteTextView is superclass of SearchAutoComplete, SearchView use SearchAutoComplete rather than AutoCompleteTextView. use it and do more.

    SearchView searchView=...;
    SearchView.SearchAutoComplete autoComplete= searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text);
    float textSpSize=10.f;
    if (autoComplete!=null){
        autoComplete.setTextSize(textSpSize);
       }
    
    0 讨论(0)
  • 2020-12-14 16:13

    Check this answer Can we limit the number of character in edittext of SearchView in Android?. It uses SearchView.OnQueryTextListener in order to check if exceeded the limit.

    0 讨论(0)
  • 2020-12-14 16:14

    You can achieve this using a theme:

    in styles.xml

    <style name="AppSearchView" parent="Widget.AppCompat.SearchView" >
            <item name="android:textSize">60sp</item>
        </style>
    

    And using a SearchView

    <android.support.v7.widget.SearchView
                android:id="@+id/searchView"
                android:layout_width="350dp"
                app:theme="@style/AppSearchView"
                android:layout_height="80dp"
                android:layout_marginTop="15dp"/>
    
    0 讨论(0)
  • 2020-12-14 16:15

    I hope my solution will help(AndroidX).

    styles.xml

     <style name="SearchViewStyle" parent="Widget.AppCompat.Light.SearchView">
        <item name="android:textSize">20sp</item>
     </style>
    

    your_layout_name.xml

    <androidx.appcompat.widget.SearchView
          app:defaultQueryHint="Search"
          android:theme="@style/SearchViewStyle" // Not style!!
          .
          .
          .
             />
    
    0 讨论(0)
  • 2020-12-14 16:23

    When using ActionBarSherlock you have to do this:

        AutoCompleteTextView searchTextView = (AutoCompleteTextView) searchView.findViewById(R.id.abs__search_src_text);
        searchTextView.setTextColor(getResources().getColor(R.color.search_text_color));
    
    0 讨论(0)
  • 2020-12-14 16:27

    You could do these using code

    SearchView searchView = new SearchView(context);
    LinearLayout linearLayout1 = (LinearLayout) searchView.getChildAt(0);
    LinearLayout linearLayout2 = (LinearLayout) linearLayout1.getChildAt(2);
    LinearLayout linearLayout3 = (LinearLayout) linearLayout2.getChildAt(1);
    AutoCompleteTextView autoComplete = (AutoCompleteTextView) linearLayout3.getChildAt(0);
    autoComplete.setTextSize(60);
    

    Here is another solution

    SearchView searchView = new SearchView(context);
    AutoCompleteTextView search_text = (AutoCompleteTextView) searchView.findViewById(searchView.getContext().getResources().getIdentifier("android:id/search_src_text", null, null));
    search_text.setTextColor(Color.WHITE);
    search_text.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimensionPixelSize(R.dimen.text_small));
    
    0 讨论(0)
提交回复
热议问题