Использование «android: textAppearance» в TextView / EditText завершается с ошибкой, но «стиль» работает

Это образец TextView в XML, который правильно применит стиль TextContactContactName к TextView.

 <TextView android:id="@+id/name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@id/photo" android:layout_alignTop="@id/photo" android:paddingLeft="10dp" android:text="First Last" style="@style/TextContactContactName" /> 

Теперь у меня есть некоторые другие вещи, которые нужно установить для этого элемента, которые не связаны с текстом. TextContactContactName я попытался переместить TextContactContactName и применить его через "android: textAppearance"

 <TextView android:id="@+id/name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@id/photo" android:layout_alignTop="@id/photo" android:paddingLeft="10dp" android:text="First Last" android:textAppearance=@style/TextContactContactName" /> 

К несчастью, форматирование текста не применяется.

Так стиль (хранится в res/values/styles-text.xml ) выглядит так:

 <style name="TextContactContactName"> <item name="android:textSize">24sp</item> <item name="android:textColor">#333333</item> <item name="android:shadowColor">#ffffff</item> <item name="android:shadowDx">0</item> <item name="android:shadowDy">1</item> <item name="android:shadowRadius">1</item> </style> 

Я неправильно использую тег textAppearance ?

Я тестировал Android 2.2 – HTC Desire.

Хорошо, похоже на мою ошибку. Я сделал быстрый тест:

 <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Text styled using 'style'." style="@style/UiTestTextView" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Text styled using 'textAppearance'." android:textAppearance="@style/UiTestTextView" /> 

И styles-text.xml:

 <style name="UiTestTextView"> <item name="android:textColor">#ff0000</item> <item name="android:textSize">16sp</item> <item name="android:shadowColor">#ffffff</item> <item name="android:shadowDx">1</item> <item name="android:shadowDy">2</item> <item name="android:shadowRadius">3</item> </style> 

Главное – помнить, что shadow* элементы не являются текстовыми свойствами. И как таковой не будет применяться через textAppearance.

Я попробую в списке разработчиков Android Developers, если это желаемое поведение.

Я опубликовал отчет об ошибке по этому вопросу. Я думаю, что получил стандартный ответ: «тень не считается частью внешнего вида текста».

http://code.google.com/p/android/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars&groupby=&sort=&id=35887

Intereting Posts
Использование ImageView для панорамного просмотра Android: настройка фона окна на запущенной Как удалить экран блокировки, который появляется после загрузки эмулятора на главный экран в Android 2.1 Android ICS SurfaceHolder.lockCanvas () не удалось внутренне и возвращает null Как установить выходное изображение, используйте com.android.camera.action.CROP Z-индекс не работает на вкладке галактики Samsung? Не удалось открыть структуру проекта Android Studio Renderscript не компилируется с помощью инструментов сборки 25.0.0+ Android-эквивалент getActivity () из / в ActionBarActivity Преобразование входного потока в строковое значение в приложении Java Android Выпадающее меню ActionGard для стилизации Android ListView не выделяется, когда установлен OnClickListener Могу ли я просмотреть открытый навигационный ящик в Android Studio Как загрузить файл на Google Drive с помощью моего приложения для Android Я не хочу обновлять фрагмент при изменении