Попробуйте:
try {
item.setDrawingCacheEnabled(true);
Bitmap bmp = item.getDrawingCache();
FileOutputStream out = new FileOutputStream(filename);
bmp.compress(Bitmap.CompressFormat.PNG, 90, out);
} catch (Exception e) {
e.printStackTrace();
}
Здесь item
- группа представления / представления, которую я хочу визуализировать.
Я на самом деле использую один и тот же фрагмент (за исключением записи файла) для некоторых при рендеринге экрана, и кажется, что он сохраняет прозрачность.
Примечание о цветах:
Цвета могут быть указаны в Android с использованием шестнадцатеричных значений. Байт (8 бит) доступен для каждого значения цвета в шаблоне ARGB
(всего 32 бита). A
означает Alpha
, R
означает Red
, G
для Green
и B
для Blue
. Каждый компонент может иметь значения между (0, 255). Обратите внимание:
decimal 0 = hex 0x00
decimal 255 = hex 0xFF
Так что, если вы хотите белый цвет с непрозрачным 'Альфа (no transparency) you would use
# FFFFFFFF . For Black
# FF000000 . For Grey
# FF808080 .
80 is hex value of decimal 128 and gives you half of full intensity white. so
80`, вы получите медианный серый.
Используйте шестнадцатеричную арифметику, чтобы получить значения десятичных цветов.
AFAIK, Угол радиального градиента не должен иметь никакого значения. Попробуйте все это в GIMP или прочитайте учебники GIMP. Лучше по-прежнему использовать Photoshop, если можете (доступны 90-дневные пробные версии).