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

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

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 Studio

У меня есть логотип .png для моего приложения, у которого нет фона, когда я добавляю его в студию Android в качестве объекта изображения, я вынужден иметь фон. Шестнадцатеричное поле не принимает 8-значные цветовые коды, только 6-значные. Есть ли способ сделать фон невидимым?

Чтобы сделать фон прозрачным, установите shape как None . Смотрите изображение ниже:

Для Android Studio 3.0 вы можете установить его на Legacy вкладке

Я использую, Android Studio 3.0.1 и если приведенный выше ответ не работает для вас, попробуйте изменить icon type на Legacy и выбрать Shape значение None по умолчанию Adaptive and Legacy .

Читайте также:  Как увеличить время работы android

Примечание. На некоторых устройствах установлена ​​программа запуска с автоматическим добавлением белого фона в значок, это нормально.

У вас есть два пути:

1) В Background Layer> Scaling уменьшите размер до 1

а затем в Legacy> Legacy Icon установить Shape как None

2) в разделе «Фоновый слой»> «Масштабирование»> «Исходный объект» вы можете установить изображение как изображение размером 1×1 пиксель (или любого размера) transparent.png (вы уже создали).

а затем в Legacy> Legacy Icon установить Shape как None

вышеупомянутый подход не работал у меня на Android Studio 3.0. Он по-прежнему показывает фон. Я только что сделал пустой файл фона

Это сработало, за исключением слоев полного выпуска за обрез.

Это просто еще один обходной путь.

  1. Для «Слоя переднего плана» выберите «Тип актива» в качестве текста и удалите текст по умолчанию в текстовом поле.

  1. Для «Фонового слоя» выберите «Тип актива» в качестве изображения, а теперь выберите путь к изображению, которое вы хотите, в качестве значка.

И тебе хорошо идти.

Android Studio 3.5.3 Работает с этой конфигурацией.

Сначала создайте значок запуска (Adaptive and Legacy) из Image Asset:

Выберите image фоновый слой и измените его размер на 0% или 1%, а на вкладке «В устаревшей shape версии » установите значение none .

Затем удалите папку res/mipmap/ic_laucher_round в окне проекта, откройте AndroidManifest.xml и удалите атрибут android:roundIcon=»@mipmap/ic_launcher_round» из application элемента.

В конце концов удалите ic_launcher.xml из mipmap-anydpi-v26 .

Обратите внимание: некоторые устройства, такие как Nexus 5X (Android 8.1), автоматически добавляют белый фон и ничего не могут делать.

Вот шаги, которые я предпринял, чтобы сделать изображение прозрачным:

1- Я использовал онлайн-сайт, который делает изображение прозрачным, их много. Для меня я использую этот https://www241.lunapic.com/editor/?action=transparent, а иногда и http://www.online-image-editor.com/help/transparency

2- В Android Studio (я использую версию 3.1.3) откройте Image Asset из приложения> res (щелкните правой кнопкой мыши)> New> Image Asset.

3- В поле «Путь» выберите расположение прозрачного изображения, которое вы загрузили с веб-сайта, и установите другие параметры, как показано, затем «Далее», затем «Готово». Пять различных размеров изображения mdpi (48 × 48), hdpi (72 × 72), xhdpi (96 × 96), xxhdpi (144 × 144) и xxxhdpi (192 × 192) будут созданы в файле res / mipmap- плотность папок.

4- Если вам нужны размеры (размеры), отличные от указанных выше, вы можете использовать этот веб-сайт http://nsimage.brosteins.com/ для загрузки изображения PNG самого большого размера, которое будет использоваться в xxxhdpi. После загрузки вы можете загрузить zip-файл, содержащий изображения пяти разных размеров в папках res / drawable- density .

Используя android 3.0.1, я заметил это странное поведение (решение). Во-первых: в фоновом слое в source_asset измените asset_type с изображения на цвет, а затем снова измените его на изображение. во-вторых: включите обрезку при масштабировании, а затем измените размер до небольшого процента, и все будет работать отлично. PS: Если вы не сделали первый шаг, масштабирование не повлияет. и если у кого-то есть объяснение по этому поводу, пожалуйста, предоставьте. шаги

Источник

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