Hii dev, saya mau coba berbagi pengalaman aneh lagi, yaitu ketika ukuran font di komponen SearchView saya terlalu besar, tadinya saya pikir itu mudah saja tinggal definisikan properties yang ada di layout xmlnya, eh ternyata tidak semudah itu ferguso… ketika saya sudah terapkan yang namanya fungsi android:textSize="60sp" tapi apa yang terjadi? tidak ada perubahan sama sekali, berikut adalah kasus kode saya kala itu.
<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"/>
The solution
Ternyata, kamu bisa lakukan itu secara programatik, seperti ini.
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);
Atau, bisa juga menggunakan alternatif 1 ini.
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));
Atau, bisa juga menggunakan style, alternatif 2.
<style name="AppSearchView" parent="Widget.AppCompat.SearchView" >
<item name="android:textSize">60sp</item>
</style>
lalu implementasikan.
<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"/>
Beres, selamat mencoba!