Android studio прозрачный фон textview

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:

Читайте также:  Проигрыватель poweramp для андроид

Кроме константы 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 .

Чтобы рассчитать правильное значение для значения альфа-прозрачности, вы можете выполнить следующую процедуру:

  1. Учитывая процент прозрачности, например 20%, вы знаете, что значение процента непрозрачности составляет 80% (это 100-20=80 )
  2. Диапазон для альфа-канала составляет 8 бит ( 2^8=256 ), то есть диапазон составляет от 0 до 255.
  3. Спроецируйте процент непрозрачности в альфа-диапазон, то есть умножьте диапазон (255) на процент. В этом примере 255 * 0.8 = 204 . При необходимости округлите до ближайшего целого числа.
  4. Преобразуйте значение, полученное в 3., которое находится в базе 10, в шестнадцатеричное (основание 16). Вы можете использовать Google для этого или любой калькулятор. Используя Google, введите «204 в шестнадцатеричном формате», и вы получите шестнадцатеричное значение. В данном случае это 0xCC .
  5. Приготовьте значение, полученное в пункте 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=» » .

  1. 0% (прозрачный) -> # 00 в шестнадцатеричном формате
  2. 20% -> # 33
  3. 50% -> # 80
  4. 75% -> # C0
  5. 100% (непрозрачный) -> #FF

255 * 0,2 = 51 → в шестнадцатеричном формате 33

Вы можете управлять непрозрачностью цвета, изменяя первые 2 символа в определении цвета:

# 99 000000

Используйте приведенный ниже код для черного:

Теперь, если я хочу использовать непрозрачность, вы можете использовать следующий код:

Значения непрозрачности шестиугольника

Если вы всегда забываете, какой код для прозрачности, вы должны увидеть ссылку ниже и не беспокоиться о том, чтобы помнить что-либо о прозрачном коде: —

Источник

Оцените статью