[app] Add collapsing toolbar to repo

This commit is contained in:
NekoInverter 2021-10-14 19:15:47 +08:00 committed by LoveSy
parent deb53cfc09
commit 80d7cdd428
3 changed files with 35 additions and 29 deletions

View File

@ -102,10 +102,7 @@ public class RepoFragment extends BaseFragment implements RepoLoader.Listener {
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
binding = FragmentRepoBinding.inflate(getLayoutInflater(), container, false);
binding.getRoot().bringChildToFront(binding.appBar);
setupToolbar(binding.toolbar, R.string.module_repo, R.menu.menu_repo);
binding.appBar.setLiftable(true);
binding.recyclerView.getBorderViewDelegate().setBorderVisibilityChangedListener((top, oldTop, bottom, oldBottom) -> binding.appBar.setLifted(!top));
adapter = new RepoAdapter();
adapter.setHasStableIds(true);
binding.recyclerView.setAdapter(adapter);

View File

@ -33,36 +33,45 @@
android:layout_height="wrap_content"
android:fitsSystemWindows="true">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
<com.google.android.material.appbar.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:elevation="0dp" />
android:layout_height="?attr/collapsingToolbarLayoutMediumSize"
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:elevation="0dp"
app:layout_collapseMode="pin" />
</com.google.android.material.appbar.CollapsingToolbarLayout>
</com.google.android.material.appbar.AppBarLayout>
<com.google.android.material.progressindicator.LinearProgressIndicator
android:id="@+id/progress"
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:indeterminate="true"
android:visibility="gone"
app:hideAnimationBehavior="outward"
android:layout_marginTop="?actionBarSize"
app:layout_fitsSystemWindowsInsets="top" />
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<org.lsposed.manager.ui.widget.EmptyStateRecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingTop="?actionBarSize"
android:fadeScrollbars="true"
android:scrollbarStyle="insideOverlay"
android:scrollbars="vertical"
app:borderTopVisibility="whenTop"
app:borderTopDrawable="@null"
app:borderBottomVisibility="never"
app:fitsSystemWindowsInsets="top|bottom" />
<com.google.android.material.progressindicator.LinearProgressIndicator
android:id="@+id/progress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:indeterminate="true"
android:visibility="gone"
app:hideAnimationBehavior="outward" />
<org.lsposed.manager.ui.widget.EmptyStateRecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:fadeScrollbars="true"
android:scrollbarStyle="insideOverlay"
android:scrollbars="vertical"
app:borderTopVisibility="whenTop"
app:borderTopDrawable="@null"
app:borderBottomVisibility="never"
app:fitsSystemWindowsInsets="bottom" />
</FrameLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@ -26,7 +26,7 @@
android:layout_height="match_parent"
android:clipToPadding="false"
android:fadeScrollbars="true"
android:scrollbarStyle="outsideOverlay"
android:scrollbarStyle="insideOverlay"
android:scrollbars="vertical"
app:borderBottomVisibility="never"
app:borderTopDrawable="@null"