重构主界面菜单与调试模式UI控制逻辑

- 将空转切换菜单项(item_idle_switch)从toolbar_main.xml移至新建的toolbar_main_idle.xml
- 调试模式(App.isDebugging()为真)时加载toolbar_main_idle.xml菜单,非调试模式不加载
- onCreate时根据调试状态控制日志区域(tv_idle_log)的显示/隐藏
- onResume时通过invalidateOptionsMenu()重新加载菜单,确保状态同步
This commit is contained in:
2026-05-04 11:28:10 +08:00
parent 7761c80275
commit 07a286e7e0
3 changed files with 22 additions and 4 deletions

View File

@@ -113,6 +113,15 @@ public class MainActivity extends WinBoLLActivity implements IWinBoLLActivity {
mADsBannerView = findViewById(R.id.adsbanner);
initAppIdleHandler();
refreshIdleLogLayout();
// 根据调试模式控制日志区域的显示
if (App.isDebugging()) {
mScrollIdleLog.setVisibility(View.VISIBLE);
LogUtils.d(TAG, "onCreate -> 调试模式,显示日志区域");
} else {
mScrollIdleLog.setVisibility(View.GONE);
LogUtils.d(TAG, "onCreate -> 非调试模式,隐藏日志区域");
}
}
@Override
@@ -125,6 +134,9 @@ public class MainActivity extends WinBoLLActivity implements IWinBoLLActivity {
if (mADsBannerView != null) {
mADsBannerView.resumeADs(MainActivity.this);
}
// 重新加载菜单以根据当前调试状态刷新
invalidateOptionsMenu();
LogUtils.d(TAG, "onResume -> 重新加载菜单完成");
}
@Override
@@ -335,6 +347,7 @@ public class MainActivity extends WinBoLLActivity implements IWinBoLLActivity {
AESThemeUtil.inflateMenu(this, menu);
if (App.isDebugging()) {
DevelopUtils.inflateMenu(this, menu);
getMenuInflater().inflate(R.menu.toolbar_main_idle, menu);
}
getMenuInflater().inflate(R.menu.toolbar_main, menu);
return true;

View File

@@ -2,10 +2,6 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/item_idle_switch"
android:title="空转状态切换"/>
<item
android:id="@+id/item_settings"
android:title="Settings"/>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/item_idle_switch"
android:title="空转状态切换"/>
</menu>