diff --git a/app/src/main/java/io/legado/app/ui/main/MainActivity.kt b/app/src/main/java/io/legado/app/ui/main/MainActivity.kt index c63b53d05..884ed8c30 100644 --- a/app/src/main/java/io/legado/app/ui/main/MainActivity.kt +++ b/app/src/main/java/io/legado/app/ui/main/MainActivity.kt @@ -46,15 +46,6 @@ class MainActivity : BaseActivity(), BottomNavigationView.OnNavig return false } - override fun onCompatCreateOptionsMenu(menu: Menu): Boolean { - menuInflater.inflate(R.menu.main, menu) - return super.onCompatCreateOptionsMenu(menu) - } - - override fun onCompatOptionsItemSelected(item: MenuItem): Boolean { - return super.onCompatOptionsItemSelected(item) - } - private fun importYueDu() { PermissionsCompat.Builder(this) .addPermissions(*Permissions.Group.STORAGE) diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/BookshelfFragment.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/BookshelfFragment.kt index 88c59221b..7d3d21755 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/BookshelfFragment.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/BookshelfFragment.kt @@ -2,16 +2,24 @@ package io.legado.app.ui.main.bookshelf import android.os.Bundle import android.util.Log +import android.view.MenuItem import android.view.View +import androidx.appcompat.widget.Toolbar import androidx.fragment.app.Fragment import io.legado.app.R +import kotlinx.android.synthetic.main.view_titlebar.* -class BookshelfFragment : Fragment(R.layout.fragment_bookshelf) { +class BookshelfFragment : Fragment(R.layout.fragment_bookshelf), Toolbar.OnMenuItemClickListener { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) Log.e("TAG", "BookshelfFragment") + toolbar.inflateMenu(R.menu.bookshelf) + toolbar.setOnMenuItemClickListener(this) + } + override fun onMenuItemClick(item: MenuItem?): Boolean { + return false } diff --git a/app/src/main/java/io/legado/app/ui/main/booksource/BookSourceFragment.kt b/app/src/main/java/io/legado/app/ui/main/booksource/BookSourceFragment.kt index 7f0195ab9..7e00b19c9 100644 --- a/app/src/main/java/io/legado/app/ui/main/booksource/BookSourceFragment.kt +++ b/app/src/main/java/io/legado/app/ui/main/booksource/BookSourceFragment.kt @@ -2,15 +2,24 @@ package io.legado.app.ui.main.booksource import android.os.Bundle import android.util.Log +import android.view.MenuItem import android.view.View +import androidx.appcompat.widget.Toolbar import androidx.fragment.app.Fragment import io.legado.app.R +import kotlinx.android.synthetic.main.view_titlebar.* -class BookSourceFragment : Fragment(R.layout.fragment_book_source) { +class BookSourceFragment : Fragment(R.layout.fragment_book_source), Toolbar.OnMenuItemClickListener { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) Log.e("TAG", "BookSourceFragment") + toolbar.inflateMenu(R.menu.book_source) + toolbar.setOnMenuItemClickListener(this) + } + + override fun onMenuItemClick(item: MenuItem?): Boolean { + return false } } \ No newline at end of file diff --git a/app/src/main/java/io/legado/app/ui/main/findbook/FindBookFragment.kt b/app/src/main/java/io/legado/app/ui/main/findbook/FindBookFragment.kt index ce2140978..3650f62f9 100644 --- a/app/src/main/java/io/legado/app/ui/main/findbook/FindBookFragment.kt +++ b/app/src/main/java/io/legado/app/ui/main/findbook/FindBookFragment.kt @@ -2,15 +2,24 @@ package io.legado.app.ui.main.findbook import android.os.Bundle import android.util.Log +import android.view.MenuItem import android.view.View +import androidx.appcompat.widget.Toolbar import androidx.fragment.app.Fragment import io.legado.app.R +import kotlinx.android.synthetic.main.view_titlebar.* -class FindBookFragment : Fragment(R.layout.fragment_find_book) { +class FindBookFragment : Fragment(R.layout.fragment_find_book), Toolbar.OnMenuItemClickListener { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) Log.e("TAG", "FindBookFragment") + toolbar.inflateMenu(R.menu.find_book) + toolbar.setOnMenuItemClickListener(this) + } + + override fun onMenuItemClick(item: MenuItem?): Boolean { + return false } } \ No newline at end of file diff --git a/app/src/main/java/io/legado/app/ui/main/myconfig/MyConfigFragment.kt b/app/src/main/java/io/legado/app/ui/main/myconfig/MyConfigFragment.kt index 052f1324a..2d431297d 100644 --- a/app/src/main/java/io/legado/app/ui/main/myconfig/MyConfigFragment.kt +++ b/app/src/main/java/io/legado/app/ui/main/myconfig/MyConfigFragment.kt @@ -2,15 +2,50 @@ package io.legado.app.ui.main.myconfig import android.os.Bundle import android.util.Log +import android.view.MenuItem import android.view.View +import androidx.appcompat.view.menu.MenuBuilder +import androidx.appcompat.view.menu.MenuItemImpl +import androidx.appcompat.widget.Toolbar +import androidx.core.view.forEach import androidx.fragment.app.Fragment import io.legado.app.R +import io.legado.app.lib.theme.ColorUtils +import io.legado.app.lib.theme.DrawableUtils +import io.legado.app.lib.theme.ThemeStore +import io.legado.app.lib.theme.getPrimaryTextColor +import io.legado.app.utils.getCompatColor +import kotlinx.android.synthetic.main.view_titlebar.* -class MyConfigFragment : Fragment(R.layout.fragment_my_config) { +class MyConfigFragment : Fragment(R.layout.fragment_my_config), Toolbar.OnMenuItemClickListener { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) Log.e("TAG", "MyConfigFragment") + toolbar.inflateMenu(R.menu.my_config) + toolbar.menu?.let { + if (it is MenuBuilder) { + it.setOptionalIconsVisible(true) + } + context?.let { context -> + val primaryTextColor = getPrimaryTextColor(ColorUtils.isColorLight(ThemeStore.primaryColor(context))) + val defaultTextColor = getCompatColor(R.color.tv_text_default) + it.forEach { item -> + (item as MenuItemImpl).let { impl -> + //overflow:展开的item + DrawableUtils.setTint( + impl.icon, + if (impl.requiresOverflow()) defaultTextColor else primaryTextColor + ) + } + } + } + } + toolbar.setOnMenuItemClickListener(this) + } + + override fun onMenuItemClick(item: MenuItem?): Boolean { + return false } } \ No newline at end of file diff --git a/app/src/main/java/io/legado/app/utils/MenuExtensions.kt b/app/src/main/java/io/legado/app/utils/MenuExtensions.kt new file mode 100644 index 000000000..656da42d1 --- /dev/null +++ b/app/src/main/java/io/legado/app/utils/MenuExtensions.kt @@ -0,0 +1,2 @@ +package io.legado.app.utils + diff --git a/app/src/main/res/drawable/ic_live_help_black_24dp.xml b/app/src/main/res/drawable/ic_live_help_black_24dp.xml new file mode 100644 index 000000000..74f549430 --- /dev/null +++ b/app/src/main/res/drawable/ic_live_help_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/menu/main.xml b/app/src/main/res/menu/book_source.xml similarity index 100% rename from app/src/main/res/menu/main.xml rename to app/src/main/res/menu/book_source.xml diff --git a/app/src/main/res/menu/bookshelf.xml b/app/src/main/res/menu/bookshelf.xml new file mode 100644 index 000000000..6a7f00e90 --- /dev/null +++ b/app/src/main/res/menu/bookshelf.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/menu/find_book.xml b/app/src/main/res/menu/find_book.xml new file mode 100644 index 000000000..ffa80409c --- /dev/null +++ b/app/src/main/res/menu/find_book.xml @@ -0,0 +1,15 @@ + + + + + + + diff --git a/app/src/main/res/menu/my_config.xml b/app/src/main/res/menu/my_config.xml new file mode 100644 index 000000000..b116d1d78 --- /dev/null +++ b/app/src/main/res/menu/my_config.xml @@ -0,0 +1,10 @@ + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8fd365498..9f1a444a3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -469,4 +469,5 @@ 清空发现缓存 编辑发现 切换软件显示在桌面的图标 + 帮助