ImageView с блеклым фоном выполнения и кнопкой отмены - PullRequest
0 голосов
/ 10 января 2020

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

enter image description here

Мой просмотр изображений имеет собственную форму с прозрачным фоном и граница со скользко скругленными углами внутри вставки.

Анимация затухания работает нормально, но проблема в том, что она охватывает весь ImageView без учета закругленных углов и вставки.

Вот мой макет код

Фон ImageView

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="?attr/colorControlHighlight">
    <item>
        <inset
            android:insetLeft="@dimen/image_btn_insert"
            android:insetTop="@dimen/image_btn_insert"
            android:insetRight="@dimen/image_btn_insert"
            android:insetBottom="@dimen/image_btn_insert">
            <shape android:shape="rectangle">
                <stroke
                    android:color="?attr/colorButtonNormal"
                    android:width="1dp"/>
                <corners android:radius="@dimen/image_btn_corner_radius" />
            </shape>
        </inset>
    </item>

И индикатор выполнения Progressbar

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <rotate
            android:fromDegrees="270"
            android:toDegrees="270">
            <shape
                android:shape="ring"
                android:innerRadius="20dp"
                android:thicknessRatio="1"
                android:useLevel="true">
                <solid android:color="@color/colorBlackTrans"/>
                <padding
                    android:left="30dp"
                    android:top="30dp"
                    android:right="30dp"
                    android:bottom="30dp" />
            </shape>
        </rotate>
    </item>
    <item>
        <shape
            android:shape="oval"
            android:useLevel="true">
            <solid android:color="@color/colorBlackTrans"/>
            <padding
                android:left="5dp"
                android:top="5dp"
                android:right="5dp"
                android:bottom="5dp" />
        </shape>
    </item>
    <item android:drawable="@drawable/ic_close_white_24dp"/>
</layer-list>

Любые идеи, пожалуйста, как заставить прогресс исчезать, а не go за пределами прямоугольника фонового изображения?

...