修复小米便签底部系统栏只显示一半的问题 #15

Merged
p3f2h9ljk merged 1 commits from taojunyu_branch into master 1 month ago

@ -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();
/**

@ -56,5 +56,5 @@
android:layout_height="wrap_content"
android:focusable="false"
android:layout_gravity="bottom"
android:layout_marginBottom="16dp" />
android:layout_marginBottom="0dp" />
</FrameLayout>

Loading…
Cancel
Save