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. Мощный режим, с помощью которого можно использовать любое из шестнадцати правил смешивания изображений Портера-Даффа, управляя процессом наложения кисти на уже существующий рисунок.
Читайте также:  Как сбросить андроид до заводских настроек samsung j2 core

Для того чтобы применить один из этих режимов, используйте метод 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 вы можете использовать альфа, как это,

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

Источник

Программирование под Android. Задание элементам прозрачных и полупрозрачных оттенков (цветов).

Прозрачность цвета задается первыми двумя символами.

Ниже я представлю эти 2 символа и их эквивалент в процентах прозрачности цвета.

Применить их можно так (файл colors.xml ):

color name=»transp» > # 00000000 color >

color name=»transp_black» > # 1A000000 color >

прозрачность —>
color name=»green_transp_15″ > # 2600FF00 color > прозрачность —> color name=»blue_transp_15″ > # 260000FF color > resources >

Таким образом цвет можно назначить так.

// На примере кнопки

Читайте также:  Мультимедиа андроид для орландо

Button button_1 = (Button) findViewById(R.id. button_2_1 );

button_1.setBackgroundColor(ContextCompat. getColor (Main_Activity. this , R.color. green_transp_15 ));

Button test_tr = (Button)findViewById(R.id. button_6 );

test_tr.setTextColor(ContextCompat. getColor ( Main_Activity . this , R.color. green_transp_15 ));

Для задания прозрачности элементам (кнопкам, изображениям и т.д.) вы можете использовать в своем макете

0.0 полностью прозрачный, 1,0 полностью непрозрачен.

Вы можете, так же назначить прозрачность в коде.

Для этого есть функция (setAlpha())

На примере кнопки:

Button test_tr = (Button)findViewById(R.id. button_6 );

Подписывайтесь на канал, не пропустите новые публикации.

Источник

Android Прозрачный TextView?

просто как сделать TextView прозрачным? (не полная прозрачность)

Я искал документы и StackNetwork и не мог найти его? Думаю, что-то в этом роде.

обновление

Я хочу футер TextView прозрачный so that the ListView items can be seen while scrolling

12 ответов

пожалуйста, попробуйте этот кусок кода..

используется фоновое изображение как прозрачное, поэтому его можно решить.

или

или

пожалуйста, попробуйте ниже .

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

шестнадцатеричное значение, которое вы установили для него, состоит из 3 до 4 частей:

Альфа (непрозрачность), я буду называть это aa

Красный, я буду называть его РР

зеленый, я буду называть его гг

Синий, я буду называть его bb

без Альфа (прозрачность) значение:

С Альфа (прозрачность) значение:

Альфа-значение для полное прозрачность 00 и Альфа-значение для нет прозрачность FF.

см. полный диапазон шестнадцатеричных значений ниже:

вы можете экспериментировать со значениями между ними.

ниже кода для черного: —

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

и ниже для кода непрозрачности: —

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

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

хотя этот ответ очень поздно, но может помочь другому разработчику, поэтому я размещаю его здесь.

ответы выше, показывающие только, как установить прозрачный фон TextView. Мы можем достичь прозрачного Textview backcgorund двумя способами:

  1. установив код непрозрачности, такой как #88000000 в android: background attribute
  2. установив атрибут android:alpha=»0.5″ в TextView

второй подход лучше, потому что это дает гибкость для установки фона с другим цветом, а затем установка настройки непрозрачности виджета с помощью android: alpha= «0.2»

Если вы ищете что-то вроде текстового представления на изображении в приложении pulse, сделайте это

попробуйте android:background=»#00000000″ в TextView. Установка Альфа цвета 00 сделает фон прозрачным.

Я не пробовал это, но он должен работать.

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

вам нужно сделать нижний колонтитул частью вашего ListView . На данный момент список не будет прокручиваться, потому что макет ListView не идет за нижним колонтитулом с прозрачностью. Сделайте RelativeLayout и расположите прозрачность внизу.

в случае если кто-то хочет сделать это в способ программирования! Сделать следующее: Обновите файл цвета в папке values с помощью этого.

затем вызвать прозрачности programitically

привет, пожалуйста, попробуйте с цветовым кодом ниже в качестве фона textview.

Источник

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