Можете ли вы уточнить, какой стиль вы хотите применить?
Если это просто базовый стиль текста, вы, вероятно, могли бы построить Spannable
и установить подсказку о завершении с результатом, поскольку он принимает CharSequence
.Пример построения Spannable
и применения к нему стилей иллюстрируется в этом посте .
Если вы ищете способ фактически манипулировать параметрами TextView
(например, padding), исходный код из AutoCompleteTextView
, кажется, дает подсказку (каламбур).
private View getHintView(Context context) {
if (mHintText != null && mHintText.length() > 0) {
final TextView hintView = (TextView) LayoutInflater.from(context).inflate(
mHintResource, null).findViewById(com.android.internal.R.id.text1);
hintView.setText(mHintText);
hintView.setId(HINT_VIEW_ID);
return hintView;
} else {
return null;
}
}
Это показывает, что Android ищет идентификатор text1
в ресурсеСсылка, которую вы указываете.Самая базовая версия такого ресурса будет содержать только TextView
с таким идентификатором:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:padding="10dp"
android:textColor="#FF0000" android:textSize="16sp" />
Сохранить выше в файле макета (например, completion_hint_view.xml
) и ссылаться на него, как следует из вашего AutoCompleteTextView
:
<AutoCompleteTextView android:id="@+id/autocomplete_textview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:completionHintView="@layout/completion_hint_view"/>
Этот второй вариант, вероятно, самый простой в использовании и даст вам полный доступ к параметрам TextView.Если вам нужно применить несколько стилей к тексту в этом представлении, вы можете включить первое предложение, поскольку это даст вам большую гибкость.
Если ни одного из этих предложений не достаточно, я могу подумать о менее изящной работевокруг, что, вероятно, позволит вам получить тот же результат.