Ответ 1
Можете ли вы рассказать о том, какой стиль вы хотите применить?
Если это просто базовый стиль текста, вы, вероятно, можете создать Spannable
и установить подсказку завершения с результатом, так как он принимает CharSequence
. Пример построения Spannable
и применения стилей к нему проиллюстрирован в этом сообщении.
Если вы ищете способ фактического манипулирования параметрами TextView
(например, дополнением), исходный код 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
с этим id:
<?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. Если вам нужно применить несколько стилей к тексту в этом представлении, вы можете включить первое предложение, так как это даст вам большую гибкость.
Если ни один из этих предложений не достаточен, я могу придумать некоторые менее элегантные работы, которые, вероятно, позволят вам получить тот же результат.