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 onclick

Android SearchView 自定义SearchIcon和字体颜色大小

如何更改 android SearchView 文本

Android自定义View实战之超简单SearchView

Android的SearchView详解

找不到类 'android.support.v7.widget.SearchView$5'