У меня есть приложение для Android, в котором пользователь может (де) выбрать изображение. Изображения отображаются в ViewPager, вложенном в FrameLayout.
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
.. ViewPager stuff ..
<CheckBox
android:id="@+id/selectImageCheckbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_marginEnd="16dp"
android:layout_marginBottom="32dp"
android:alpha="0.9"
android:button="@drawable/ic_checkbox_36dp"
android:textColor="@color/colorLightGray" />
</FrameLayout>
Флажок расположен справа внизу. Моя проблема в том, что я хотел бы изменить оттенок отрисовываемого флажка в зависимости от фона позади флажка. Если это изображение темного цвета, белый оттенок прекрасно работает. Если изображение очень яркое или, возможно, просто недостаточно широкое, чтобы достичь флажка, тогда белый цвет не работает, а серый лучше.
Я изо всех сил пытаюсь найти способ определить видимый цвет в прямоугольнике, чтобы флажок был установлен. (Я знаю как программно изменить оттенок). Или есть более элегантное решение для изменения растягиваемого оттенка в зависимости от цвета окружающей среды?