From 3facc601a2f0b95385ce8da600577ebd8b7e61a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=B6=E4=BF=8A=E5=AE=87?= <2643473564@qq.com> Date: Mon, 19 Jan 2026 20:15:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86=E5=B0=8F=E7=B1=B3?= =?UTF-8?q?=E4=BE=BF=E7=AD=BE=E4=B8=BB=E7=95=8C=E9=9D=A2=E5=BA=95=E9=83=A8?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E6=A0=8F=E6=98=BE=E7=A4=BA=E4=B8=8D=E5=85=A8?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../micode/notes/ui/NotesListActivity.java | 46 +++++++++++++++++++ src/main/res/layout/note_list.xml | 2 +- 2 files changed, 47 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/micode/notes/ui/NotesListActivity.java b/src/main/java/net/micode/notes/ui/NotesListActivity.java index 74b08ea..c033aeb 100644 --- a/src/main/java/net/micode/notes/ui/NotesListActivity.java +++ b/src/main/java/net/micode/notes/ui/NotesListActivity.java @@ -316,6 +316,52 @@ public class NotesListActivity extends Activity implements OnClickListener, OnIt protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.note_list); + + // 上移底部系统栏,解决写便签按钮与底部系统栏之间的多余间距 + View decorView = getWindow().getDecorView(); + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R) { + // Android 11+ 使用新的WindowInsetsController API + android.view.WindowInsetsController insetsController = decorView.getWindowInsetsController(); + if (insetsController != null) { + // 隐藏底部导航栏 + insetsController.hide(android.view.WindowInsets.Type.navigationBars()); + // 设置系统栏行为,允许滑动显示 + insetsController.setSystemBarsBehavior( + android.view.WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE); + } + } else if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) { + // Android 4.1-10 使用旧的系统UI可见性API + int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION + | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION + | View.SYSTEM_UI_FLAG_LAYOUT_STABLE; + decorView.setSystemUiVisibility(uiOptions); + } + + // 添加系统UI可见性变化监听器,确保系统栏保持上移状态 + decorView.setOnSystemUiVisibilityChangeListener( + new View.OnSystemUiVisibilityChangeListener() { + @Override + public void onSystemUiVisibilityChange(int visibility) { + // 当系统UI可见性变化时,重新设置系统UI可见性 + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.R) { + // Android 11+ 使用新API + android.view.WindowInsetsController insetsController = decorView.getWindowInsetsController(); + if (insetsController != null) { + insetsController.hide(android.view.WindowInsets.Type.navigationBars()); + } + } else if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) { + // Android 4.1-10 使用旧API + if ((visibility & View.SYSTEM_UI_FLAG_HIDE_NAVIGATION) == 0) { + int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION + | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION + | View.SYSTEM_UI_FLAG_LAYOUT_STABLE; + decorView.setSystemUiVisibility(uiOptions); + } + } + } + } + ); + initResources(); /** diff --git a/src/main/res/layout/note_list.xml b/src/main/res/layout/note_list.xml index 21eb34b..6ceb130 100644 --- a/src/main/res/layout/note_list.xml +++ b/src/main/res/layout/note_list.xml @@ -56,5 +56,5 @@ android:layout_height="wrap_content" android:focusable="false" android:layout_gravity="bottom" - android:layout_marginBottom="16dp" /> + android:layout_marginBottom="0dp" />