Android - SearchView - setTypeface不可用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android - SearchView - setTypeface不可用相关的知识,希望对你有一定的参考价值。
出于某种原因,我无法在SearchView上设置Typeface。这是我尝试更改字体的代码:
searchView = findViewById(R.id.searchview_invite_friends_search_contact);
Typeface myFont = Typeface.createFromAsset(getAssets(),"fonts/myFont.ttf");
searchView.setTypeface(myFont);
我在xml中将它定义为:
<SearchView
android:id="@+id/searchView"
android:layout_width="match_parent"
android:queryHint="@string/searchview_invite_friends_search_contact"
android:iconifiedByDefault="false"
android:layout_centerHorizontal="true"
android:background="@android:color/white"
android:searchIcon="@drawable/icon_search"
android:focusable="false"
android:layout_height="45dp"
android:queryBackground="@color/transparent"
android:gravity="center_horizontal"
>
答案
SearchView包含一个TextView,您首先要查找它以更改其字体。
TextView searchText = (TextView) searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text);
searchText.setTypeface(<your Typeface>);
这适用于v7 Android支持库中的SearchView。
对于android.widget包中的普通SearchView,请参阅https://stackoverflow.com/a/30915643/3233251
另一答案
TextView searchText =(TextView)searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text);字体类型= Typeface.createFromAsset(getAssets(),“fonts / siemreap.ttf”); searchText.setTypeface(类型);
以上是关于Android - SearchView - setTypeface不可用的主要内容,如果未能解决你的问题,请参考以下文章
Android SearchView 自定义SearchIcon和字体颜色大小