- Графика
- Класс Color
- Класс Paint
- Использование полупрозрачности
- Режим Xfermode
- Сглаживание
- Класс Path
- Класс Canvas
- Класс Bitmap
- Программирование под Android. Задание элементам прозрачных и полупрозрачных оттенков (цветов).
- Установить прозрачный фон imageview на Android
- 22 ответов
- Примечание
- код непрозрачность:
- Значения Непрозрачности Hex
- Android Прозрачный TextView?
- 12 ответов
- Установите прозрачный фон изображения на Android
- Заметка
- Код непрозрачности:
- Значения непрозрачности шестнадцатеричных
Графика
Пакет 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 отвечает за растровые картинки.
Источник
Программирование под 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 );
Подписывайтесь на канал, не пропустите новые публикации.
Источник
Установить прозрачный фон imageview на Android
Я использую веб-представление, в котором я добавляю представление изображения. Как я могу установить фон этого изображения на прозрачную?
Я попытался это:
здесь trans → #00000000 .
22 ответов
в вашем XML установите Background атрибут любого цвета, White(#FFFFFF) тени или Black(#000000) тени. Если вы хотите прозрачности, просто поместите 80 перед фактическим хэш-кодом:
это изменит любой цвет, который вы хотите, чтобы прозрачный.. 🙂
вы можете установить прозрачный фон любого макета, любого представления или любого компонента, добавив этот код в XML:
В дополнение к тому, что Harshad упомянул:
два шестнадцатеричных символа могут быть добавлены к любому шестнадцатеричному цветовому коду. Первые два символа в 8-значном шестнадцатеричном цветовом коде представляют его непрозрачность в Android.
два шестнадцатеричных символа могут варьироваться от 00 до FF. Например,
- обычный непрозрачный черный hex — «#000000»
- полностью прозрачный — «#00000000»
- полностью непрозрачный «#FF000000»
- 50% прозрачный — «#7F000000»
таким образом, вы можете изменить любой цвет на любой уровень прозрачности.
чтобы найти шестнадцатеричный префикс из процента:
разделить число процентов на 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 Прозрачный 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 двумя способами:
- установив код непрозрачности, такой как #88000000 в android: background attribute
- установив атрибут android:alpha=»0.5″ в TextView
второй подход лучше, потому что это дает гибкость для установки фона с другим цветом, а затем установка настройки непрозрачности виджета с помощью android: alpha= «0.2»
Если вы ищете что-то вроде текстового представления на изображении в приложении pulse, сделайте это
попробуйте android:background=»#00000000″ в TextView. Установка Альфа цвета 00 сделает фон прозрачным.
Я не пробовал это, но он должен работать.
все правильно отвечают о прозрачности, но не слушают, что нужно парню в отношении прокрутки списка за нижним колонтитулом.
вам нужно сделать нижний колонтитул частью вашего ListView . На данный момент список не будет прокручиваться, потому что макет ListView не идет за нижним колонтитулом с прозрачностью. Сделайте RelativeLayout и расположите прозрачность внизу.
в случае если кто-то хочет сделать это в способ программирования! Сделать следующее: Обновите файл цвета в папке values с помощью этого.
затем вызвать прозрачности programitically
привет, пожалуйста, попробуйте с цветовым кодом ниже в качестве фона textview.
Источник
Установите прозрачный фон изображения на 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 не может быть просмотрен через него.
Используйте нижеприведенный код для черного:
Теперь, если вы хотите использовать непрозрачность, вы можете использовать приведенный ниже код:
Источник