diff --git a/app/src/main/java/io/legado/app/base/BaseActivity.kt b/app/src/main/java/io/legado/app/base/BaseActivity.kt index 0c1c153d8..f81f9e9f7 100644 --- a/app/src/main/java/io/legado/app/base/BaseActivity.kt +++ b/app/src/main/java/io/legado/app/base/BaseActivity.kt @@ -99,11 +99,9 @@ abstract class BaseActivity( abstract fun onActivityCreated(savedInstanceState: Bundle?) final override fun onCreateOptionsMenu(menu: Menu): Boolean { - return menu.let { - val bool = onCompatCreateOptionsMenu(it) - it.applyTint(this, toolBarTheme) - bool - } + val bool = onCompatCreateOptionsMenu(menu) + menu.applyTint(this, toolBarTheme) + return bool } override fun onMenuOpened(featureId: Int, menu: Menu): Boolean { diff --git a/app/src/main/java/io/legado/app/utils/MenuExtensions.kt b/app/src/main/java/io/legado/app/utils/MenuExtensions.kt index ec7772f67..6202750dd 100644 --- a/app/src/main/java/io/legado/app/utils/MenuExtensions.kt +++ b/app/src/main/java/io/legado/app/utils/MenuExtensions.kt @@ -6,6 +6,7 @@ import android.view.Menu import android.view.MenuItem import androidx.appcompat.view.menu.MenuBuilder import androidx.appcompat.view.menu.MenuItemImpl +import androidx.appcompat.view.menu.SubMenuBuilder import androidx.core.view.forEach import io.legado.app.R import io.legado.app.constant.Theme @@ -33,7 +34,7 @@ fun Menu.applyOpenTint(context: Context) { //展开菜单显示图标 if (this.javaClass.simpleName.equals("MenuBuilder", ignoreCase = true)) { val defaultTextColor = context.getCompatColor(R.color.primaryText) - try { + kotlin.runCatching { var method: Method = this.javaClass.getDeclaredMethod("setOptionalIconsVisible", java.lang.Boolean.TYPE) method.isAccessible = true @@ -47,7 +48,11 @@ fun Menu.applyOpenTint(context: Context) { } } } - } catch (ignored: Exception) { + } + } else if (this.javaClass.simpleName.equals("SubMenuBuilder", ignoreCase = true)) { + val defaultTextColor = context.getCompatColor(R.color.primaryText) + (this as? SubMenuBuilder)?.forEach { item: MenuItem -> + item.icon?.setTintMutate(defaultTextColor) } } } \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_bubble_chart.xml b/app/src/main/res/drawable/ic_bubble_chart.xml new file mode 100644 index 000000000..45b7aa80a --- /dev/null +++ b/app/src/main/res/drawable/ic_bubble_chart.xml @@ -0,0 +1,16 @@ + + + + + diff --git a/app/src/main/res/menu/book_read.xml b/app/src/main/res/menu/book_read.xml index dcff16f99..b4e820c69 100644 --- a/app/src/main/res/menu/book_read.xml +++ b/app/src/main/res/menu/book_read.xml @@ -15,11 +15,13 @@ @@ -37,16 +39,19 @@