Reputation: 16793
I have the following SearchView
implementation in the xml
, the text entry has been cut from the top as shown in the below image. No matter what textSize
I am putting, nothing changes.
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="32dp"
android:gravity="center_vertical"
android:layout_marginTop="10dp">
<SearchView
android:id="@+id/search_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textSize="12sp"/>
</LinearLayout>
Upvotes: 4
Views: 5091
Reputation: 45
We can directly change in theme.xml It will affect in whole application, where it has an search view.
Eg,
<item name="colorControlHighlight">@color/colorAccent</item>
<item name="colorControlNormal">@android:color/black</item>
<item name="android:editTextColor">@android:color/white</item>
<item name="android:textColorHint">@android:color/white</item>
<item name="android:textSize">30sp</item>
</style>
Upvotes: 1
Reputation: 1538
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" // use app:theme not in style
android:layout_height="80dp"
android:layout_marginTop="15dp"/>
Upvotes: 7
Reputation: 119
sv= (SearchView) findViewById(R.id.search_view);
TextView searchText = (TextView)
sv.findViewById(android.support.v7.appcompat.R.id.search_src_text);
searchText.setTextSize(TypedValue.COMPLEX_UNIT_SP,12);
Upvotes: 2
Reputation: 3104
try this one
you have to pass your SearchView
and textSize
in this method
private void setSearchviewTextSize(SearchView searchView, int fontSize) {
try {
AutoCompleteTextView autoCompleteTextViewSearch = (AutoCompleteTextView) searchView.findViewById(searchView.getContext().getResources().getIdentifier("app:id/search_src_text", null, null));
if (autoCompleteTextViewSearch != null) {
autoCompleteTextViewSearch.setTextSize(TypedValue.COMPLEX_UNIT_SP, fontSize);
} else {
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(TypedValue.COMPLEX_UNIT_SP, fontSize);
}
} catch (Exception e) {
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(TypedValue.COMPLEX_UNIT_SP, fontSize);
}
}
update your XML also
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical">
<SearchView
android:id="@+id/search_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="12sp"/>
</LinearLayout>
Upvotes: 2