SearchView
の中にLinearLayout
があり、別のTextSize
(SearchView
)を設定しようとしていますが、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
を変更する方法を知っている人はいますか?
あなたはコードを使用してこれらを行うことができます
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));
これはテーマを使用して実現できます。
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"/>
ActionBarSherlockを使用する場合、これを行う必要があります。
AutoCompleteTextView searchTextView = (AutoCompleteTextView) searchView.findViewById(R.id.abs__search_src_text);
searchTextView.setTextColor(getResources().getColor(R.color.search_text_color));
AutoCompleteTextView
はSearchAutoComplete
のスーパークラスですが、SearchView
はSearchAutoComplete
ではなく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);
}
この回答を確認してください AndroidのSearchViewのedittextの文字数を制限できますか? 。制限を超えているかどうかを確認するために SearchView.OnQueryTextListener を使用します。
私の解決策が役立つことを願っています(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!!
.
.
.
/>