Прозрачные цвета android studio

Графика

Пакет android.graphics имеет все необходимые библиотеки для работы с двухмерной графикой. Существует несколько подходов для рисования графики.

Для рисования простой графики, которая не будет динамически изменяться во время работы приложения, обычно используют класс, наследующий от View и задействуют метод onDraw().

В метод передаётся объект Canvas, у которого есть различные графические методы.

Стандартная реализация подобного подхода выглядит следующим образом:

В методе setContentView() вместо ссылки на разметку передаётся класс MyView, наследующий от View:

В методе onDraw() можете рисовать:

Для рисования динамической графики больше подойдёт класс SurfaceView, имеющий дополнительные возможности. Данному классу мы посвятим отдельный материал.

Класс Color

Класс Color отвечает за цвета. Цвета можно описывать четырьмя числами в формате ARGB, по одному для каждого канала(Alpha, Red, Green, Blue).

Класс Paint

Класс Paint содержит стили, цвета и другую графическую информацию для рисования графических объектов. Он позволяет выбирать способ отображения графических примитивов, которые вы рисуете на объекте Canvas с помощью методов. Изменяя объект Paint, можно контролировать цвет, стиль, шрифт и специальные эффекты, используемые при рисовании. Например, чтобы установить сплошной цвет для рисования линии, нужно вызвать метод Paint.setColor().

В этом примере мы использовали готовую константу. Также можно указать 32-битное целое число, закодированное в схеме ARGB8888.

Можно установить цвет через его составляющие:

Стиль объекта Paint, задаваемый с помощью метода setStyle(), позволяет рисовать либо очертания графического примитива (STROKE), либо его заливку (FILL), либо и то, и другое сразу (STROKE_AND_FILL).

Помимо этих простых методов класс Paint поддерживает прозрачность и может быть изменён с помощью различных шейдеров, фильтров и эффектов, которые предоставляют богатый набор сложных красок и кистей.

Использование полупрозрачности

Любой цвет в Android содержит свойство прозрачности (альфа-канал). Указать его можно при создании описывающей цвет переменной, используя методы argb() и parseColor():

Но мы можем задать прозрачность уже существующего объекта Paint с помощью метода setAlpha():

Пример использования метода setAlpha() для наложения двух картинок.

Режим Xfermode

Изменение режима Xfermode для объекта Paint влияет на способ наложения новых цветов поверх уже нарисованных. В обычных обстоятельствах при рисовании поверх имеющегося рисунка создастся новый верхний слой. Если новый объект Paint на 100% непрозрачный, он полностью закрасит все, что находится под областью для рисования; если он полупрозрачный, то только затенит лежащие ниже цвета. Подклассы Xfermode позволяют изменить такое поведение.

  • AvoidXfermode. Определяет цвет, поверх которого объект Paint не может (или наоборот — может только поверх него) рисовать. Задается также параметр tolerance, указывающий на допустимое отклонение.
  • PixelXorXfermode. Применяет простое побитовое исключение (XOR) при рисовании поверх существующих цветов.
  • PorterDuffXfermode. Мощный режим, с помощью которого можно использовать любое из шестнадцати правил смешивания изображений Портера-Даффа, управляя процессом наложения кисти на уже существующий рисунок.
Читайте также:  Вход инженерного меню андроид

Для того чтобы применить один из этих режимов, используйте метод setXferMode():

Сглаживание

При создании нового объекта Paint вы можете передать в его конструктор несколько флагов, которые будут влиять на способ отображения. Одним из наиболее интересных из них считается флаг ANTI_ALIAS_FLAG, обеспечивающий сглаживание диагональных линий, рисуемых объектом Paint (снижая при этом производительность).

Сглаживание играет важную роль в процессе отрисовки текста, значительно упрощает его восприятие. Чтобы сделать текст более гладким, можете использовать флаг SUBPIXEL_TEXT_FLAG, который применяет субпиксельное сглаживание. Можно задать оба этих флага программно, используя методы setSubpixelText() и setAntiAlias():

Класс Path

Класс Path позволяет рисовать контуры разных типов — пунктиры, сглаживание линий и т.д.

Класс Canvas

Класс Canvas представляет собой специальную поверхность (холст), на которой вы можете рисовать. С помощью многочисленных методов класса вы можете рисовать линии, окружности, дуги и так далее.

Класс Bitmap

Класс Bitmap отвечает за растровые картинки.

Источник

Как сделать фон 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 вы можете использовать альфа, как это,

Результат как на скриншотах.

Источник

Установить прозрачный фон imageview на Android

Я использую веб-представление, в котором я добавляю представление изображения. Как я могу установить фон этого изображения на прозрачную?

Я попытался это:

здесь trans → #00000000 .

22 ответов

в вашем XML установите Background атрибут любого цвета, White(#FFFFFF) тени или Black(#000000) тени. Если вы хотите прозрачности, просто поместите 80 перед фактическим хэш-кодом:

это изменит любой цвет, который вы хотите, чтобы прозрачный.. 🙂

вы можете установить прозрачный фон любого макета, любого представления или любого компонента, добавив этот код в XML:

В дополнение к тому, что Harshad упомянул:

два шестнадцатеричных символа могут быть добавлены к любому шестнадцатеричному цветовому коду. Первые два символа в 8-значном шестнадцатеричном цветовом коде представляют его непрозрачность в Android.

два шестнадцатеричных символа могут варьироваться от 00 до FF. Например,

  • обычный непрозрачный черный hex — «#000000»
  • полностью прозрачный — «#00000000»
  • полностью непрозрачный «#FF000000»
  • 50% прозрачный — «#7F000000»

таким образом, вы можете изменить любой цвет на любой уровень прозрачности.

Читайте также:  Промокод для mighty party 2021 андроид

чтобы найти шестнадцатеричный префикс из процента:

разделить число процентов на 100 и умножить на 255, чтобы получить десятичное значение. Преобразуйте десятичное число в шестнадцатеричное здесь.

например, для 50%, 50/100 * 255 = 127. Используя ссылку, мы получаем шестнадцатеричное значение 7F.

если вы хотите добавить прозрачность 20% или 30%, вы должны предварительно добавить еще два символа в шестнадцатеричный код, например CC.

Примечание

android:background=»#CCFF0088″ в XML

где CC-Альфа-значение, FF-красный фактор, 00-Зеленый фактор, а 88-синий фактор.

код непрозрачность:

Значения Непрозрачности Hex

вы также можете установить прозрачность программно как:

установить прозрачность между 0 (полностью прозрачный) до 255 (полностью непрозрачный). 127,5-это ровно 50%.

вы можете создать любой уровень прозрачности, используя данную формулу. Если вы хотите половину прозрачной:

и для прозрачности 25%:

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

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

Источник

Установите прозрачный фон изображения на Android

Я использую веб-представление, в котором я добавляю представление изображения. Как настроить прозрачность фона этого изображения?

Где trans → #00000000 .

В вашем XML установите атрибут Background на любой цвет, White(#FFFFFF) оттенок или Black(#000000) оттенок. Если вы хотите прозрачность, просто поставьте 80 до фактического хеш-кода:

Это изменит любой цвет, который вы хотите на прозрачный. 🙂

Вы можете установить прозрачный фон любого макета, любого представления или любого компонента, добавив этот код в XML:

В дополнение к тому, что сказал Харшад:

Два шестнадцатеричных символа могут быть добавлены к любому шестнадцатеричному цветовому коду. Первые два символа в 8-значном шестнадцатеричном цветовом коде представляют его непрозрачность в Android.

Два шестнадцатеричных символа могут варьироваться от 00 до FF. Например,

  • Нормальный непрозрачный черный гекс – «# 000000»
  • Полностью прозрачный – «# 00000000»
  • Полностью непрозрачный – «# FF000000»
  • 50% прозрачный – «# 7F000000»

Таким образом, вы можете изменить любой цвет на любой уровень прозрачности.

Чтобы найти шестнадцатеричный префикс из процента:

Разделите процентное число на 100 и умножьте на 255, чтобы получить десятичное значение. Преобразуйте десятичное число в шестнадцатеричное число.

Например, для 50%, 50/100 * 255 = 127. Используя ссылку, мы получим шестнадцатеричное значение 7F.

Источник: Android: как создать прозрачный или непрозрачный фон

Если вы хотите добавить прозрачность 20% или 30%, вы должны предварительно отложить еще два символа в шестнадцатеричном коде, таком как CC.

Заметка

android:background=»#CCFF0088″ в формате XML

Где CC – значение альфа, FF – красный коэффициент, 00 – зеленый фактор, а 88 – синий фактор.

Код непрозрачности:

Значения непрозрачности шестнадцатеричных

Вы также можете установить непрозрачность программно, например:

Установите непрозрачность между 0 (полностью прозрачным) до 255 (полностью непрозрачным). 127,5 составляет ровно 50%.

Вы можете создать любой уровень прозрачности с использованием данной формулы. Если вы хотите половину прозрачности:

И для прозрачности 25%:

Существует уже предопределенная константа. Используйте Color.TRANSPARENT .

Но я думаю, что вы можете сделать фон изображения, которое вы размещаете в прозрачном WebView, например, с прозрачным PNG, а не с фоном ImageView. Если фактическое изображение совсем не просматривается, то фон ImageView не может быть просмотрен через него.

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

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

Источник

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