У меня есть пользовательский listView, который содержит один закрепленный заголовок и х количество "отжимающих" представлений, которые могут быть выдвинуты и скрыты над списком.
Я приложил изображение, чтобы объяснить их. Извините за "черную цензуру", просто чтобы скрыть логотип клиентов и т.д.
Моя проблема в том, что если я добавлю добавление к прикрепленному представлению заголовка, я получу элементы списка, плавающие за ним.
Прикрепленное представление заголовка реализовано с той же техникой, что и вы, если вы будете искать PinnedHeaderListView, то есть статический вид и заголовок в списке.
У меня есть способ включить заполнение, и это путем применения того же дополнения, что и прикрепленный заголовок, к фактическому listView, но только тогда, когда отображается статический заголовок.
Однако вызов setPadding вызывает видимый Jank, который я бы хотел удалить. Кто-нибудь знает, как удалить этот jank?
У меня есть простое приложение с простыми представлениями и фиктивными данными, которое не показывает этот jank, поэтому, возможно, количество jank зависит от сложности компоновки ячеек.
private void updateIfShouldShowStaticHeaderView() {
    //unfortunately setting the padding of the listView causes JANK.
    //any ideas?
    int bottomOfFloatingHeader = floatingHeader.getBottom();
    if (bottomOfFloatingHeader < mHeaderViewHeight) {
        staticHeaderViewIsVisible = true;
        staticHeader.setVisibility(View.VISIBLE);
        //need to set padding of listView to avoid having list-view items float behind my padded static header
        setPadding(0, staticHeader.getPaddingTop(), 0, getPaddingBottom());
    } else {
        staticHeaderViewIsVisible = false;
        staticHeader.setVisibility(View.INVISIBLE);
        //need to set padding of listView to avoid having list-view items float behind my padded static header
        setPadding(0, 0, 0, getPaddingBottom());
    }
}
Прежде всего, это изображение, показывающее вытолкнутые заголовки

Вот изображение, показывающее, как вещи рисуются за проложенным статическим приподнятым представлением. Стоит отметить, что он работает как намеренный, если я настраиваю прописку listView, но я получу Jank (замедление), когда он включит/выключит статический заголовок.
 