Определяя все цвета и все типы непрозрачности в XML-файле цветов, отнимает много времени и делает файл большим - PullRequest
0 голосов
/ 02 июня 2018

У меня есть вопрос, я много играю с непрозрачностью при определении цветов, но есть проблема в Android, вам нужно определить все цвета в файле colors.xml, и я уже определил их около 145 цветов в colors.xmlfile,

Теперь проблема в том, что я пишу colors.xml для всех типов значений непрозрачности для каждого цвета. Как вы знаете, существует 21 тип непрозрачности, например:

Пример:

<color name="black">#000000</color>
<color name="a_black">#FF000000</color>
<color name="b_black">#F2000000</color>
<color name="c_black">#D9000000</color>
<color name="d_black">#CC000000</color>......

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

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

Это определение всех цветов с непрозрачностью означает 21 * 145 = 3045 цветов, и для записи в файл colors.xml потребуется несколько часов, а размер файла будет большим.

  1. Можно ли как-нибудь добавить все цвета с непрозрачностью в файл 'colors.xml', не теряя времени и не увеличив размер файла colors.xml?.
  2. Возможно ли написатьэти 145 цветов в файле 'colors.xml', но меняют их непрозрачность при использовании его для любого background property или для любого свойства text color в activity_ main.xml ?, если это возможно, то как мы можем это сделать?

Заранее спасибо.

1 Ответ

0 голосов
/ 02 июня 2018

Вы можете сделать это программно.Вам нужно определить базовые цвета в вашем colors.xml и затем контролировать прозрачность из вашего кода, где это необходимо.

colorWith25Opacity = (R.color.black & 0x00FFFFFF) | 0x40000000;

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

String colorCode = ColorTransparentUtils.transparentColor10(R.color.a_black);

Проверьте ответы здесь и здесь .

...