Цвет маски RippleDrawable, для чего он нужен?
Ссылаясь на RippleDrawable для Android L, https://developer.android.com/reference/android/graphics/drawable/RippleDrawable.html, есть способ маскировать, чтобы сдержать волновой эффект в представлении. Маскировка выполняется как
<ripple android:color="#ff0000ff">
<item android:drawable="@drawable/white" />
</ripple>
Мы могли бы также замаскировать это, используя
<ripple android:color="#ff0000ff">
<item android:drawable="@drawable/black" />
</ripple>
Как упоминалось в документе, слой маски не рисуется на экране, а просто маскирует эффект ряби. Мне любопытно, почему нужно устанавливать цвет (белый или черный или что-нибудь) там? Есть ли у нас какой-нибудь значимый из нас, устанавливающий цвет как Маска, или это действительно какое-то значение подойдет?
Надеется кто-то просветить... спасибо!
1 ответ
Использование непрозрачного цвета для вашей маски - будь то @android:color/white
, #ff000000
, или же #ff123456
не имеет значения - означает, что вы маскируете против полностью непрозрачного прямоугольника того же размера, что и нарисованный вами. Это наиболее эффективный путь рендеринга для масок пульсации.