我一直在尝试将自定义字体设置为 android.support.v7.widget.SearchView
查询提示和在 View 中输入的文本。我确实尝试从 通过创建 TypeFace 对象评估到 searchView,但出现的问题是 “SearchView 不包含 setTypeface(Typeface tf) 方法。” 我确实尝试了自定义 SearchView 类但找不到。
private void setFont(String font1, String font2, String font3)
{
Typeface tf = null;
tf = UiUtil.changeFont(MainActivity.this, font1);
btn1.setTypeface(tf);
tf = UiUtil.changeFont(MainActivity.this, font2);
btn2.setTypeface(tf);
tf = UiUtil.changeFont(MainActivity.this, font3);
btn3.setTypeface(tf);
tf = UiUtil.changeFont(MainActivity.this, font3);
// no set typeface method..
}
最佳答案
这里的解决方法是首先获取 searchView 的 textView,然后改为更改 textView 的字体:
TextView searchText = (TextView)
searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text);
Typeface myCustomFont = Typeface.createFromAsset(getAssets(),"fonts/myFont.ttf");
searchText.setTypeface(myCustomFont);
或者,如果您没有使用 appcompatv7:
int id = searchView.getContext().getResources().getIdentifier("android:id/search_src_text", null, null);
TextView searchText = (TextView) searchView.findViewById(id);
然后照常设置字体。
关于android - android中的SearchView自定义字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29427350/