添加主窗口关于菜单和刷新封面功能

- 主窗口添加工具栏关于应用菜单
- AboutActivity使用AppBarLayout与主窗口一致
- 添加返回按钮到AboutActivity工具栏
- 去掉主窗口刷新菜单
- onResume时刷新相册集封面
This commit is contained in:
2026-04-26 20:41:26 +08:00
parent 90d8330798
commit 3aab93cc4d
6 changed files with 58 additions and 47 deletions

View File

@@ -46,6 +46,14 @@
<activity
android:name=".TrashActivity"
android:label="@string/trash"/>
<activity
android:name=".CropActivity"
android:label="调整封面"/>
<activity
android:name=".AboutActivity"
android:label="@string/about"/>
<meta-data
android:name="android.max_aspect"

View File

@@ -1,19 +1,14 @@
package cc.winboll.studio.gallery;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toolbar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.libappbase.models.APPInfo;
import cc.winboll.studio.libappbase.views.AboutView;
/**
* @Author 豆包&ZhanGSKen<zhangsken@qq.com>
* @Date 2026/01/11 12:55
* @Describe AboutActivity
*/
public class AboutActivity extends Activity {
public class AboutActivity extends AppCompatActivity {
public static final String TAG = "AboutActivity";
@@ -22,23 +17,21 @@ public class AboutActivity extends Activity {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_about);
// 设置工具栏
Toolbar toolbar = findViewById(R.id.toolbar);
setActionBar(toolbar);
getActionBar().setSubtitle(TAG);
getActionBar().setDisplayHomeAsUpEnabled(true);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish(); // 点击导航栏返回按钮,触发 finish()
}
});
@Override
public void onClick(View v) {
finish();
}
});
AboutView aboutView = findViewById(R.id.aboutview);
aboutView.setAPPInfo(genDefaultAppInfo());
AboutView aboutView = findViewById(R.id.aboutview);
aboutView.setAPPInfo(genDefaultAppInfo());
}
private APPInfo genDefaultAppInfo() {
private APPInfo genDefaultAppInfo() {
LogUtils.d(TAG, "genDefaultAppInfo() 调用");
String branchName = "gallery";
APPInfo appInfo = new APPInfo();
@@ -55,4 +48,4 @@ public class AboutActivity extends Activity {
LogUtils.d(TAG, "genDefaultAppInfo: 应用信息已生成");
return appInfo;
}
}
}

View File

@@ -281,18 +281,14 @@ private void loadAlbums() {
if (id == R.id.action_settings) {
startActivity(new Intent(this, SettingsActivity.class));
return true;
} else if (id == R.id.action_about) {
startActivity(new Intent(this, AboutActivity.class));
return true;
} else if (id == R.id.action_trash) {
startActivity(new Intent(this, TrashActivity.class));
return true;
} else if (id == R.id.action_refresh) {
if (checkPermission()) {
loadAlbums();
}
return true;
} else if (id == R.id.action_debug) {
LogActivity.startLogActivity(this);
// Log.d("Gallery", "Debug log message");
// Toast.makeText(this, R.string.debug_message, Toast.LENGTH_SHORT).show();
LogActivity.startLogActivity(this);
return true;
}
return super.onOptionsItemSelected(item);
@@ -308,6 +304,7 @@ private void loadAlbums() {
if (adapter != null) {
adapter.refreshBg();
adapter.refreshPinned();
adapter.refreshCover();
}
}

View File

@@ -1,21 +1,33 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/toolbar"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<cc.winboll.studio.libappbase.views.AboutView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1.0"
android:id="@+id/aboutview"/>
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
</LinearLayout>
</com.google.android.material.appbar.AppBarLayout>
<cc.winboll.studio.libappbase.views.AboutView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/aboutview"/>
</LinearLayout>
</FrameLayout>

View File

@@ -13,8 +13,8 @@
app:showAsAction="never"/>
<item
android:id="@+id/action_refresh"
android:title="@string/refresh"
android:id="@+id/action_about"
android:title="@string/about"
app:showAsAction="never"/>
<item

View File

@@ -4,6 +4,7 @@
<string name="refresh">Refresh</string>
<string name="settings">Settings</string>
<string name="settings_title">Settings</string>
<string name="about">About</string>
<string name="folder_path">Folder Path</string>
<string name="enter_folder_path">Enter folder path</string>
<string name="save">Save</string>