From 7b0948383a2e657d49403c25f6d4782c60977795 Mon Sep 17 00:00:00 2001 From: smdyv <88971341+smdyv@users.noreply.github.com> Date: Sun, 20 Feb 2022 17:29:02 +0100 Subject: [PATCH] Add margins to toolbar --- .../java/org/grapheneos/pdfviewer/PdfViewer.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/app/src/main/java/org/grapheneos/pdfviewer/PdfViewer.java b/app/src/main/java/org/grapheneos/pdfviewer/PdfViewer.java index 4a1c874..96d9cfe 100644 --- a/app/src/main/java/org/grapheneos/pdfviewer/PdfViewer.java +++ b/app/src/main/java/org/grapheneos/pdfviewer/PdfViewer.java @@ -13,6 +13,7 @@ import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; +import android.view.ViewGroup; import android.webkit.CookieManager; import android.webkit.JavascriptInterface; import android.webkit.WebResourceRequest; @@ -25,6 +26,9 @@ import android.widget.Toast; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; +import androidx.core.graphics.Insets; +import androidx.core.view.ViewCompat; +import androidx.core.view.WindowInsetsCompat; import androidx.loader.app.LoaderManager; import androidx.loader.content.Loader; @@ -153,6 +157,17 @@ public class PdfViewer extends AppCompatActivity implements LoaderManager.Loader setContentView(binding.getRoot()); setSupportActionBar(binding.toolbar); + // Margins for the toolbar are needed, so that content of the toolbar + // is not covered by a system button navigation bar when in landscape. + ViewCompat.setOnApplyWindowInsetsListener(binding.toolbar, (v, windowInsets) -> { + Insets insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars()); + ViewGroup.MarginLayoutParams mlp = (ViewGroup.MarginLayoutParams) v.getLayoutParams(); + mlp.leftMargin = insets.left; + mlp.rightMargin = insets.right; + v.setLayoutParams(mlp); + return windowInsets; + }); + binding.webview.setBackgroundColor(Color.TRANSPARENT); if (BuildConfig.DEBUG) {