Пользовательский шрифт SearchView в android

Я пытаюсь установить настраиваемый шрифт в подсказку запроса android.support.v7.widget.SearchView и текст, введенный в View.I попытался динамически установить шрифт из assests в searchView, создав объект TypeFace, но Возникает проблема: «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.. } 

Обходной путь здесь состоит в том, чтобы сначала получить textView searchView, а затем изменить шрифт для 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); 

Затем установите шрифт как обычно.