AppBarLayout behavior when updating RecyclerView

Viewed 238

An interesting situation arose. When updating the RecyclerView (moving animation), the app parameter is no longer taken into account: liftOnScroll = "true". That is, the shadow disappears until I start to scroll. Tried so appBarLayout.setLifted(true); - did not help. include_toolbar

<?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.appbar.AppBarLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/appBarLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    **app:liftOnScroll="true"**>

    <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        app:layout_scrollFlags="scroll|enterAlways|snap"/>

</com.google.android.material.appbar.AppBarLayout>

Java

public class ListFragment extends Fragment {
    ...

    private class Adapter extends RecyclerView.Adapter<ViewHolder> {
        ...
        @Override
        public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
            holder.elect.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                   ...
                    RuleDiffUtilCallback ruleDiffUtilCallback = new RuleDiffUtilCallback(rules, Labs.get(getActivity()).getRules());
                    DiffUtil.DiffResult diffResult = DiffUtil.calculateDiff(ruleDiffUtilCallback);
                    ruleAdapter.setRules(Labs.get(getActivity()).getRules());
                    diffResult.dispatchUpdatesTo(ruleAdapter);
                }
            });

            ...

    }

    ...
}
0 Answers
Related