English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Эта статья总结了 продвинутые техники отображения TextView в Android. Поделюсь с вами для вашего参考, подробности см. ниже:
1. Настройка шрифта
Метод setTypeface(Typeface) можно использовать для установки шрифта текста в текстовом поле, а Typeface в Android использует файл TTF шрифта для установки шрифта
Таким образом, мы можем добавить файл TTF шрифта в нашу программу и использовать Typeface для установки шрифта:第一步, создать папку fonts в директории assets и поместить файл TTF шрифта сюда.第二步, в программе вызвать:
TextViewtv = (TextView)findViewById(R.id.textView); AssetManagermgr=getAssets(); // Получить AssetManager Typefacetf=Typeface.createFromAsset(mgr, "fonts/mini.TTF"); // Получить Typeface по пути tv.setTypeface(tf); // Установить шрифт
Эффект показан на следующем рисунке:
2. Показывать текст различных цветов
Android поддерживает строки в формате html, преобразование строки в формат html можно выполнить с помощью метода Html.fromHtml(str).
Пример см. ниже:
StringtextStr1 = "<font color=\"#ffff00\">如果有一天,</font><br>"; StringtextStr2 = "<font color=\"#00ff00\">我厌倦了这里,</font><br>"; StringtextStr3 = "<font color=\"#ff00ff\">我会乘着梦,</font><br>"; StringtextStr4 = "<font color=\"#00ffff\">飞向那个属于自己的<br>世界……</font><br>"; tv.setText(Html.fromHtml(textStr1+textStr2+textStr3+textStr4));
Результат выполнения будет следующим:
3. Жирный шрифт
В файле разметки xml использование android:textStyle="bold" позволяет сделать текст жирным на английском языке, но не на китайском. Чтобы сделать китайский текст жирным, используйте настройку имитации жирного шрифта в TextPaint, установив setFakeBoldText в true. Пример кода см. ниже:
tv.getPaint().setFakeBoldText(true);
Результат будет следующим:
4. Добавление тени
В файле布局 xml можно использовать набор свойств android:shadowXXX для добавления и настройки тени. Конкретно: shadowColor устанавливает цвет тени; shadowDx устанавливает горизонтальное смещение тени; shadowDy устанавливает вертикальное смещение тени; shadowRadius устанавливает радиус тени.
Пример кода:
android:shadowColor="#ffffff" android:shadowDx="15.0" android:shadowDy="5.0" android:shadowRadius="2.5"
Результат отображения будет следующим:
5. Вставка изображения
Существует два способа вставки изображений, первый из которых заключается в использовании вышеупомянутого html-формата строки, но преобразование несколько сложное. Необходимо использовать класс ImageGetter для преобразования атрибута src изображения. Пример кода:
String imgStr = "<img src=\""+R.drawable.sidai+"\"/>"; Html.ImageGetter imageGetter = new Html.ImageGetter() { public Drawable getDrawable(String arg0) { // TODO Автоматически сгенерированный метод stub int id = Integer.parseInt(arg0); Drawable draw = getResources().getDrawable(id); draw.setBounds(10, 10, 228, 300); return draw; } ; tv.append(Html.fromHtml(imgStr, imageGetter, null));
Второй метод заключается в использовании набора свойств android:drawableXXX в файле布局 xml для вставки изображений. Конкретно: drawableBottom рисует指定的 изображение на нижнем крае текстового поля; drawableLeft рисует指定的 изображение слева от текста в текстовом поле; drawableRight рисует指定的 изображение справа от текста в текстовом поле; drawableTop рисует指定的 изображение на верхнем крае текстового поля; drawablePadding устанавливает отступ между текстом и изображением в текстовом поле. Пример кода:
android:drawableBottom="@drawable/sidai"
Так выглядит отображение после вставки изображения:
Читатели, интересующиеся дополнительной информацией о Android, могут ознакомиться с нашими专题ами: «Суммарные советы по технике работы с Android View View», «Суммарные советы по технике работы с Android layout layout», «Суммарные советы по технике обработки графиков и изображений в Android», «Введение и продвинутые уроки разработки Android», «Сборник советов по отладке и решению проблем Android», «Сборник советов по работе с multimедиа Android (аудио, видео, запись и т.д.)», «Суммарные советы по использованию основных компонентов Android» и «Суммарные советы по использованию контроллеров Android»
Надеюсь, что информация, изложенная в этой статье, поможет вам в разработке Android-приложений.
Декларация: Контент этой статьи предоставлен из Интернета, авторские права принадлежат соответствующему владельцу, контент предоставлен пользователями Интернета, самостоятельно загружен, сайт не обладает правами собственности, не был редактирован вручную, и не несет ответственности за соответствующие юридические последствия. Если вы обнаружите подозрительный контент, связанный с авторскими правами, пожалуйста, отправьте письмо по адресу: notice#oldtoolbag.com (во время отправки письма, пожалуйста, замените # на @) для сообщения о нарушении и предоставьте соответствующие доказательства. Если факт будет подтвержден, сайт немедленно удалят涉嫌侵权的内容.