web-dev-qa-db-ja.com

SearchView TextSizeを設定する方法?

SearchViewの中にLinearLayoutがあり、別のTextSizeSearchView)を設定しようとしていますが、Android:textSize="60sp"たとえば、何も起こりません。

これは私のコードです:

<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
          Android:layout_width="fill_parent"
          Android:layout_height="wrap_content"
          Android:orientation="vertical"
          Android:padding="2dp">
<SearchView
        Android:id="@+id/searchView"
        Android:layout_width="350dp"
        Android:textSize="60sp"
        Android:layout_height="80dp"
        Android:layout_marginTop="15dp"/>
<ListView
        Android:id="@+id/search_results"
        Android:layout_width="fill_parent"
        Android:layout_height="wrap_content"/>

コントロールのTextSizeを変更する方法を知っている人はいますか?

26
tetius

あなたはコードを使用してこれらを行うことができます

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);

ここに別の解決策があります

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));
35
Pongpat

これはテーマを使用して実現できます。

styles.xml

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

そして、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"/>
39

ActionBarSherlockを使用する場合、これを行う必要があります。

    AutoCompleteTextView searchTextView = (AutoCompleteTextView) searchView.findViewById(R.id.abs__search_src_text);
    searchTextView.setTextColor(getResources().getColor(R.color.search_text_color));
4
Vitaly Babiy

AutoCompleteTextViewSearchAutoCompleteのスーパークラスですが、SearchViewSearchAutoCompleteではなくAutoCompleteTextViewを使用します。それを使用して、もっとしてください。

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
chen

この回答を確認してください AndroidのSearchViewのedittextの文字数を制限できますか? 。制限を超えているかどうかを確認するために SearchView.OnQueryTextListener を使用します。

0
Sneg

私の解決策が役立つことを願っています(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
Arda Kazancı