- TextView
- Программная установка текста
- Атрибуты
- Программная установка фона
- Реагируем на событие onClick
- Многострочный текст
- Увеличиваем интервалы между строками
- Бой с тенью
- Создание ссылок автоматом
- Совет: Используйте полупрозрачность с умом
- Выделить текст для копирования
- Как сделать фон 20% прозрачным на Android
- ОТВЕТЫ
- Ответ 1
- Ответ 2
- Шестнадцатеричные значения непрозрачности
- Ответ 3
- Ответ 4
- Ответ 5
- Ответ 6
- Ответ 7
- Файл activity_main.xml
- Файл MainActivity.java
- Ответ 8
- Ответ 9
- Ответ 10
- Ответ 11
- Ответ 12
- Ответ 13
- Ответ 14
- Ответ 15
- Ответ 16
- Как сделать фон на 20% прозрачным на Android
- 19 ответов
- Файл activity_main.xml
- Файл MainActivity.java
- Значения непрозрачности шестиугольника
TextView
Компонент TextView предназначен для отображения текста без возможности редактирования его пользователем, что видно из его названия (Text — текст, view — просмотр).
Находится в разделе Texts.
TextView — один из самых используемых компонентов. С его помощью пользователю удобнее ориентироваться в программе. По сути, это как таблички: Руками не трогать, По газону не ходить, Вход с собаками воспрещен, Часы работы с 9.00 до 18.00 и т.д., и служит для представления пользователю описательного текста.
Для отображения текста в TextView в файле разметки используется атрибут android:text, например:
Такой подход является нежелательным. Рекомендуется всегда использовать текстовые ресурсы. В будущем эта привычка позволит вам обеспечить многоязыковую поддержку:
Программная установка текста
Программно текст можно задать методом setText():
Атрибуты
Для всех вышеперечисленных атрибутов в классе TextView есть соответствующие методы для чтения или задания соответствующих свойств.
Программно установим размеры текста при помощи setTextSize() с различными единицами измерения.
По умолчанию у компонентов TextView отсутствует фоновый цвет. Чтобы задать цвет, укажите значение Drawable для атрибута android:background. В качестве значения Drawable может использоваться изображение или XML-представление фигуры, включающий ресурс Drawable (поместить в папку res/drawable).
Программная установка фона
В некоторых случаях программисты из-за невнимательности неправильно меняют фон элемента программным способом и удивляются, почему ничего не работает.
Предположим, у вас определён в ресурсах зелёный цвет:
Следующий код будет ошибочным:
Нужно так (два варианта):
Реагируем на событие onClick
Если вы хотите, чтобы TextView обрабатывал нажатия (атрибут android:onClick), то не забывайте также использовать в связке атрибут android:clickable=»true». Иначе работать не будет!
Многострочный текст
Если вы хотите создать многострочный текст в TextView, то используйте символы \n для переноса строк.
Например, в ресурсах:
Обратите внимание, что в тексте также применяется простое форматирование.
Также перенос на новую строку можно задать в коде:
Увеличиваем интервалы между строками
Вы можете управлять интервалом между соседними строчками текста через атрибут android:lineSpacingMultiplier, который является множителем. Установите дробное значение меньше единицы, чтобы сократить интервал или больше единицы, чтобы увеличить интервал между строками.
Бой с тенью
Чтобы оживить текст, можно дополнительно задействовать атрибуты для создания эффектов тени: shadowColor, shadowDx, shadowDy и shadowRadius. С их помощью вы можете установить цвет тени и ее смещение. Во время установки значений вы не увидите изменений, необходимо запустить пример в эмуляторе или на устройстве. В следующем примере я создал тень красного цвета со смещением в 2 пикселя по вертикали и горизонтали. Учтите, что для смещения используются единицы px (пиксели), единицы dp не поддерживаются.
Программный эквивалент — метод public void setShadowLayer (float radius, float dx, float dy, int color):
Создание ссылок автоматом
У TextView есть ещё два интересных свойства Auto link (атрибут autoLink) и Links clickable (атрибут linksClickable), которые позволяют автоматически создавать ссылки из текста.
Выглядит это следующим образом. Предположим, мы присвоим элементу TextView текст Мой сайт: developer.alexanderklimov.ru и применим к нему указанные свойства.
При этом уже на этапе разработки вы увидите, что строка адреса сайта после слов Мой адрес: стала ссылкой. Если вы запустите приложение и нажмете на ссылку, то откроется браузер с указанным адресом. Вам даже не придется писать дополнительный код. Аналогично, если указать номер телефона (параметр phone), то запустится звонилка.
У ссылки есть интересная особенность — при длительном нажатии на ссылку появляется диалоговое окно, позволяющее скопировать ссылку в буфер обмена.
Атрибут autoLink позволяет комбинировать различные виды ссылок для автоматического распознавания: веб-адрес, email, номер телефона.
Цвет ссылки можно поменять через свойство Text color link (XML-атрибут textColorLink), а программно через метод setTextLinkColor().
Программно можно установить ссылки на текст через класс Linkify:
Кроме константы ALL, можно также использовать Linkify.EMAIL_ADDRESSES, Linkify.MAP_ADDRESSES, Linkify.PHONE_NUMBERS. К сожалению, русские адреса не распознаются. В моём случае индекс был распознан как телефонный номер, а город и улица не стали ссылкой.
В таких случаях придётся самостоятельно добавить ссылки в текстах. Например, определим ссылку в ресурсе:
Присвоим созданный ресурс тексту в TextView и запустим пример. Сам текст будет выглядеть как ссылка, но реагировать не будет. Чтобы исправить данную проблему, добавим код:
Ссылки в тексте выглядят не совсем удобными. Есть отдельная библиотека, которая улучшает функциональность. Описание проблем и ссылка на библиотеку есть в статье A better way to handle links in TextView — Saket Narayan.
Совет: Используйте полупрозрачность с умом
Если вам нужно установить текст полупрозрачным, то не используйте атрибут android:alpha:
Дело в том, что такой подход затрачивает много ресурсов при перерисовке.
Атрибут textColor позволяет установить полупрозрачность без потери производительности:
Выделить текст для копирования
По умолчанию, текст в TextView нельзя выделить для копирования. Но в API 11 появилась такая возможность, которая может пригодиться. Делается либо при помощи XML-атрибута android:textIsSelectable, либо через метод setTextIsSelectable().
Добавьте в разметку два компонента TextView и одно текстовое поле EditText для вставки скопированного текста. У первой текстовой метки установим возможность выделения текста декларативно.
Для второго компонента возможность выделения создадим программно.
Сделайте долгий тап на тексте в любом TextView. Увидите стандартные ползунки для выбора длины текста. Скопируйте текст, сделайте длинный тап в EditText и вставьте текст.
Источник
Как сделать фон 20% прозрачным на Android
Как сделать фон Textview около 20% прозрачным (не полностью прозрачным), где есть цвет в фоновом режиме (то есть белый)?
ОТВЕТЫ
Ответ 1
Сделайте цвет 80% в альфа-канале. Например, для красного использования #CCFF0000 :
В этом примере CC представляет собой шестнадцатеричное число для 255 * 0.8 = 204 . Обратите внимание, что первые два шестнадцатеричных цифры для альфа-канала. Формат #AARRGGBB , где AA — альфа-канал, RR — красный канал, GG — зеленый канал, а BB — синий канал.
Я предполагаю, что прозрачность 20% означает 80% непрозрачность. Если вы имели в виду другой путь, вместо CC используйте 33 , который является шестнадцатеричным для 255 * 0.2 = 51 .
Чтобы рассчитать правильное значение для значения альфа-прозрачности, вы можете выполнить следующую процедуру:
- Учитывая процент прозрачности, например 20%, вы знаете, что непрозрачное процентное значение составляет 80% (это 100-20=80 )
- Диапазон для альфа-канала — 8 бит ( 2^8=256 ), то есть диапазон от 0 до 255.
- Задайте непрозрачный процент в альфа-диапазоне, то есть умножьте диапазон (255) на процент. В этом примере 255 * 0.8 = 204 . При необходимости округлите до ближайшего целого числа.
- Преобразуйте значение, полученное в 3., которое находится в базе 10, в шестнадцатеричное (основание 16). Вы можете использовать Google для этого или любого калькулятора. Используя Google, введите «204 в hexa», и он даст вам шестнадцатеричное значение. В этом случае это 0xCC .
- Подготовьте значение, полученное в 4., к желаемому цвету. Например, для красного, который есть FF0000 , у вас будет CCFF0000 .
Ответ 2
Используйте код ниже для черного:
Теперь, если я хочу использовать непрозрачность, вы можете использовать следующий код:
Шестнадцатеричные значения непрозрачности
Если вы всегда забываете, какой код для прозрачности, тогда вы должны увидеть ссылку ниже и не беспокоиться о том, чтобы вспомнить что-нибудь о прозрачном коде: —
Ответ 3
Вы можете управлять непрозрачностью цвета, изменяя первые 2 символа в определении цвета:
# 99 000000
Ответ 4
Используйте цвет с альфа-значением, например #33—— , и установите его как фон вашего editText, используя атрибут XML android:background=» » .
- 0% (прозрачный) → # 00 в шестнадцатеричном
- 20% → # 33
- 50% → # 80
- 75% → # C0
- 100% (непрозрачный) → #FF
255 * 0.2 = 51 → в шестнадцатеричном формате 33
Ответ 5
Вы можете попробовать сделать что-то вроде:
Здесь вы можете установить непрозрачность между 0 (полностью прозрачным) до 255 (полностью непрозрачный). 51 — это именно то, что вам нужно.
Ответ 6
В Android Studio есть встроенный инструмент для настройки значения цвета и альфа/непрозрачности:
Ответ 7
Я взял три взгляда. В первом виде я установил полный (без альфа) цвет, во втором — половинный (0,5 альфа) цвет, а в третьем — светлый (0,2 альфа).
Вы можете установить любой цвет и получить цвет с помощью альфы, используя следующий код:
Файл activity_main.xml
Файл MainActivity.java
Котлин версия:
Готово
Ответ 8
Все шестнадцатеричные значения от 100% до 0% альфа. Вы можете установить любой цвет с альфа-значениями, указанными ниже. например #FAFFFFFF (ARRGGBB)
Ответ 9
Существует значение XML alpha , которое принимает двойные значения.
Так как API 11+ диапазон от 0f до 1f (включительно), 0f прозрачен и 1f непрозрачен:
android:alpha=»0.0″ thats invisible
android:alpha=»1.0″ полная видимость
Как это работает.
Ответ 10
Таким же образом мы можем сделать прозрачным.
Код белого цвета — FFFFFF
70% белый — # B3 FFFFFF.
100% — FF, 95% — F2, 90% — E6, 85% — D9, 80% — CC, 75% — BF, 70% — B3, 65% — A6, 60% — 99, 55% — 8C, 50% — 80, 45% — 73, 40% — 66, 35% — 59, 30% — 4D, 25% — 40, 20% — 33, 15% — 26, 10% — 1A, 5% — 0D, 0% — 00
Ответ 11
Альфа варьируется от 0 (прозрачный) и 1 (непрозрачный) в Android API 11 +
Ответ 12
Теперь Android Studio 3.3 и более поздняя версия предоставляют встроенную функцию для изменения альфа- значения цвета,
Просто нажмите на цвет в редакторе студии Android и укажите альфа-значение в percentage .
Для получения дополнительной информации см. Изображение ниже
Ответ 13
См. популярность ниже textView, используя это
XML
Динамически
btn.getBackground() SetAlpha (128).//50% прозрачный
tv_name.getBackground() SetAlpha (128).//50% прозрачный
Android: альфа = «0,38»
Ответ 14
Здесь программное решение от @Aromero отвечает, чтобы вычислить шестнадцатеричное значение для альфа-канала.:)
Ответ 15
Попробуйте этот код 🙂
Это полностью прозрачный шестнадцатеричный код — «# 00000000»
Ответ 16
В Kotlin вы можете использовать альфа, как это,
Результат как на скриншотах.
Источник
Как сделать фон на 20% прозрачным на Android
Как сделать фон Textview прозрачным примерно на 20% (не полностью прозрачным), если он имеет цвет (например, белый)?
19 ответов
Сделайте так, чтобы цвет в альфа-канале занимал 80%. Например, для красного используйте #CCFF0000 :
В этом примере CC — шестнадцатеричное число для 255 * 0.8 = 204 . Обратите внимание, что первые две шестнадцатеричные цифры относятся к альфа-каналу. Формат: #AARRGGBB , где AA — альфа-канал, RR — красный канал, GG — зеленый канал и BB — синий канал.
Я предполагаю, что 20% прозрачности означает 80% непрозрачности. Если вы имели в виду другое, вместо CC используйте 33 , который является шестнадцатеричным для 255 * 0.2 = 51 .
Чтобы рассчитать правильное значение для значения альфа-прозрачности, вы можете выполнить следующую процедуру:
- Учитывая процент прозрачности, например 20%, вы знаете, что значение процента непрозрачности составляет 80% (это 100-20=80 )
- Диапазон для альфа-канала составляет 8 бит ( 2^8=256 ), то есть диапазон составляет от 0 до 255.
- Спроецируйте процент непрозрачности в альфа-диапазон, то есть умножьте диапазон (255) на процент. В этом примере 255 * 0.8 = 204 . При необходимости округлите до ближайшего целого числа.
- Преобразуйте значение, полученное в 3., которое находится в базе 10, в шестнадцатеричное (основание 16). Вы можете использовать Google для этого или любой калькулятор. Используя Google, введите «204 в шестнадцатеричном формате», и вы получите шестнадцатеричное значение. В данном случае это 0xCC .
- Приготовьте значение, полученное в пункте 4., к желаемому цвету. Например, для красного, то есть FF0000 , у вас будет CCFF0000 .
Попробуйте этот код 🙂
Это полностью прозрачный шестнадцатеричный код — «# 00000000» .
Вот программное решение из ответа @Aromero для вычисления шестнадцатеричного значения для альфа-канала. 🙂
Я бы рекомендовал использовать атрибут alpha .
Или теперь вы можете использовать selector . Создайте background_color_25.xml в пакете colors .
Я знаю, это очень старый вопрос.
Если вы хотите использовать значение цвета, вы также можете использовать его сокращенную версию с #ARGB . Где A — значение альфа-канала.
В случае белого цвета существуют следующие значения прозрачности:
Таким образом, вы можете для TextView добавить следующую строку для 20% прозрачности:
Если вы хотите сделать цвет на 50% прозрачным в котлине,
В Kotlin вы можете использовать альфа-версию следующим образом:
Результат такой же, как на этих снимках экрана.
Надеюсь, это поможет вам. Спасибо
См. Популярность ниже textView, используя это
XML
Динамически
btn.getBackground (). setAlpha (128); // 50% прозрачность
tv_name.getBackground (). setAlpha (128); // 50% прозрачность
android: alpha = «0,38»
Альфа варьируется от 0 (прозрачный) до 1 (непрозрачный) в Android API 11+.
Существует значение XML alpha , которое принимает значения типа double.
Поскольку API 11+ диапазон от 0f до 1f (включительно), 0f является прозрачным, а 1f непрозрачным:
android:alpha=»1.0″ полностью видимый
Вот как это работает.
Теперь Android Studio 3.3 и более поздние версии предоставляют встроенную функцию для изменения значения цвета Alpha ,
Просто нажмите на цвет в редакторе Android Studio и укажите Альфа-значение в percentage .
Для получения дополнительной информации см. Изображение ниже
Все шестнадцатеричные значения от 100% до 0% альфа. Вы можете установить любой цвет с альфа-значениями, указанными ниже. например #FAFFFFFF (ARRGGBB)
Я сделал три обзора. В первом представлении я установил полный (без альфа) цвет, на втором виде я установил половину (0,5 альфа) цвета, а в третьем представлении я установил светлый цвет (0,2 альфа).
Вы можете установить любой цвет и получить цвет с альфа-каналом, используя приведенный ниже код:
Файл activity_main.xml
Файл MainActivity.java
Версия Kotlin .
Готово
Мы можем сделать прозрачными и так.
Код белого цвета — FFFFFF
20% белого — # 33 FFFFFF
20% — 33
70% белого — # B3 FFFFFF
70% — B3
Все шестнадцатеричные значения от 100% до 0%
100% — FF , 99% — FC, 98% — FA, 97% — F7, 96% — F5, 95% — F2, 94% — F0, 93% — ED, 92% — ЭБ, 91% — E8, 90% — E6 , 89% — E3, 88% — E0, 87% — ДЭ, 86% — ДБ, 85% — D9, 84% — D6 , 83% — D4, 82% — D1, 81% — CF, 80% — CC , 79% — C9, 78% — C7, 77% — C4, 76% — C2, 75% — БФ, 74% — БД, 73% — БА, 72% — В8, 71% — B5, 70% — B3 , 69% — B0, 68% — AD , 67% — AB, 66% — А8, 65% — А6, 64% — А3, 63% — А1, 62% — 9E, 61% — 9С, 60% — 99 , 59% — 96, 58% — 94, 57% — 91, 56% — 8F, 55% — 8С, 54% — 8А, 53% — 87, 52% — 85, 51% — 82, 50% — 80 , 49% — 7D, 48% — 7А, 47% — 78, 46% — 75, 45% — 73, 44% — 70, 43% — 6E, 42% — 6Б, 41% — 69, 40% — 66 , 39% — 63, 38% — 61, 37% — 5E, 36% — 5С, 35% — 59, 34% — 57, 33% — 54, 32% — 52, 31% — 4F, 30% — 4D , 29% — 4А, 28% — 47, 27% — 45, 26% — 42, 25% — 40, 24% — 3D, 23% — 3Б, 22% — 38, 21% — 36, 20% — 33 , 19% — 30, 18% — 2E , 17% — 2Б, 16% — 29, 15% — 26, 14% — 24, 13% — 21, 12% — 1 этаж, 11% — 1С, 10% — 1A , 9% — 17, 8% — 14, 7% — 12, 6% — 0F, 5% — 0D, 4% — 0А, 3% — 08, 2% — 05, 1% — 03, 0% — 00
В Android Studio есть встроенный инструмент для настройки цвета и значения альфа / прозрачности :
Вы можете попробовать сделать что-то вроде:
Здесь вы можете установить непрозрачность от 0 (полностью прозрачный) до 255 (полностью непрозрачный). 51 — это именно те 20%, которые вам нужны.
Используйте цвет с альфа-значением, например #33—— , и установите его в качестве фона для вашего editText с помощью атрибута XML android:background=» » .
- 0% (прозрачный) -> # 00 в шестнадцатеричном формате
- 20% -> # 33
- 50% -> # 80
- 75% -> # C0
- 100% (непрозрачный) -> #FF
255 * 0,2 = 51 → в шестнадцатеричном формате 33
Вы можете управлять непрозрачностью цвета, изменяя первые 2 символа в определении цвета:
# 99 000000
Используйте приведенный ниже код для черного:
Теперь, если я хочу использовать непрозрачность, вы можете использовать следующий код:
Значения непрозрачности шестиугольника
Если вы всегда забываете, какой код для прозрачности, вы должны увидеть ссылку ниже и не беспокоиться о том, чтобы помнить что-либо о прозрачном коде: —
Источник