diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryInfoScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryInfoScene.java index c14cfe5f5..11d6debbf 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryInfoScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryInfoScene.java @@ -25,6 +25,8 @@ import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.core.graphics.Insets; +import androidx.core.view.WindowInsetsCompat; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -169,10 +171,8 @@ public final class GalleryInfoScene extends ToolbarScene { LayoutUtils.dp2pix(context, 1)); decoration.setPadding(context.getResources().getDimensionPixelOffset(R.dimen.keyline_margin)); mRecyclerView.addItemDecoration(decoration); - //mRecyclerView.setSelector(Ripple.generateRippleDrawable(context, !AttrResources.getAttrBoolean(context, R.attr.isLightTheme), new ColorDrawable(Color.TRANSPARENT))); mRecyclerView.setClipToPadding(false); mRecyclerView.setHasFixedSize(true); - //mRecyclerView.setOnItemClickListener(this); return view; } @@ -275,4 +275,18 @@ public final class GalleryInfoScene extends ToolbarScene { return mKeys == null || mValues == null ? 0 : Math.min(mKeys.size(), mValues.size()); } } + + @Override + public WindowInsetsCompat onApplyWindowInsets(View v, WindowInsetsCompat insets) { + Insets insets1 = insets.getInsets(WindowInsetsCompat.Type.systemBars() | WindowInsetsCompat.Type.ime()); + v.setPadding(insets1.left, 0, insets1.right, 0); + View statusBarBackground = v.findViewById(R.id.status_bar_background); + statusBarBackground.getLayoutParams().height = insets1.top; + statusBarBackground.setBackgroundColor(AttrResources.getAttrColor(requireContext(), R.attr.colorPrimaryDark)); + if (mRecyclerView != null) { + int keyline_margin = getResources().getDimensionPixelOffset(R.dimen.keyline_margin); + mRecyclerView.setPadding(mRecyclerView.getPaddingLeft(), mRecyclerView.getPaddingTop(), mRecyclerView.getPaddingRight(), keyline_margin + insets1.bottom); + } + return WindowInsetsCompat.CONSUMED; + } }