Отрисовка хода выполнения SwipeRefreshLayout не полностью скрывается на KitKat - PullRequest
1 голос
/ 02 ноября 2019

У меня есть что-то вроде этого:

<ConstraintLayout>
    <SwipeRefreshLayout>
        <RecyclerView>

У ограничения также есть animateLayoutChanges = "true" Но я уверен, что это не причина.

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

Появляется только на 4.4 и ниже.

enter image description here

1 Ответ

1 голос
/ 05 ноября 2019

Панель действий может уменьшиться при изменении ориентации или если вы вручную установили размер панели действий. Установите смещение в пикселях от верхней части представления, при котором счетчик прогресса должен сбрасываться после успешного жеста смахивания до текущего размера панели действий.

TypedValue typedValue = new TypedValue();
getActivity().getTheme().resolveAttribute(android.support.v7.appcompat.R.attr.actionBarSize, typedValue, true);
mSwipeRefreshLayout.setProgressViewOffset(false, 0, getResources().getDimensionPixelSize(typedValue.resourceId));

Решение берется из ответа на другой вопросabout: swipeRefreshLayout

Проверьте, поможет ли это вам сначала: mSwipeRefreshLayout.setProgressViewOffset (false, 0, 64) или, возможно, немного больше, чем 64

...