diff --git a/app/src/main/java/io/legado/app/ui/book/info/BookInfoActivity.kt b/app/src/main/java/io/legado/app/ui/book/info/BookInfoActivity.kt index ec2ac54ed..672a117a4 100644 --- a/app/src/main/java/io/legado/app/ui/book/info/BookInfoActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/info/BookInfoActivity.kt @@ -2,6 +2,8 @@ package io.legado.app.ui.book.info import android.annotation.SuppressLint import android.content.Intent +import android.graphics.RenderEffect +import android.graphics.Shader import android.net.Uri import android.os.Build import android.os.Bundle @@ -36,10 +38,10 @@ import io.legado.app.help.config.AppConfig import io.legado.app.help.config.LocalConfig import io.legado.app.lib.dialogs.alert import io.legado.app.lib.dialogs.selector -import io.legado.app.lib.theme.accentColor -import io.legado.app.lib.theme.backgroundColor -import io.legado.app.lib.theme.bottomBackground -import io.legado.app.lib.theme.getPrimaryTextColor +//import io.legado.app.lib.theme.accentColor +//import io.legado.app.lib.theme.backgroundColor +//import io.legado.app.lib.theme.bottomBackground +//import io.legado.app.lib.theme.getPrimaryTextColor import io.legado.app.model.BookCover import io.legado.app.model.remote.RemoteBookWebDav import io.legado.app.ui.about.AppLogDialog @@ -156,16 +158,17 @@ class BookInfoActivity : @SuppressLint("PrivateResource") override fun onActivityCreated(savedInstanceState: Bundle?) { binding.titleBar.setBackgroundResource(R.color.transparent) - binding.refreshLayout?.setColorSchemeColors(accentColor) - binding.arcView.setBgColor(backgroundColor) - binding.llInfo.setBackgroundColor(backgroundColor) - binding.flAction.setBackgroundColor(bottomBackground) +// binding.refreshLayout?.setColorSchemeColors(accentColor) +// binding.llInfo.setBackgroundColor(backgroundColor) +// binding.flAction.setBackgroundColor(bottomBackground) binding.flAction.applyNavigationBarPadding() - binding.tvShelf.setTextColor(getPrimaryTextColor(ColorUtils.isColorLight(bottomBackground))) + binding.btnShelf?.text = getString(R.string.remove_from_bookshelf) binding.tvToc.text = getString(R.string.toc_s, getString(R.string.loading)) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1) { binding.tvIntro.revealOnFocusHint = false } + viewModel.bookData.observe(this) { showBook(it) } viewModel.chapterListData.observe(this) { upLoading(false, it) } viewModel.waitDialogData.observe(this) { upWaitDialogStatus(it) } @@ -369,8 +372,18 @@ class BookInfoActivity : private fun showCover(book: Book) { binding.ivCover.load(book.getDisplayCover(), book.name, book.author, false, book.origin) { if (!AppConfig.isEInkMode) { - BookCover.loadBlur(this, book.getDisplayCover(), false, book.origin) + //高版本使用RenderEffect + BookCover.load(this, book.getDisplayCover(), false, book.origin) .into(binding.bgBook) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + BookCover.load(this, book.getDisplayCover(), false, book.origin) + .into(binding.bgBook) + val blurEffect = RenderEffect.createBlurEffect(60f, 60f, Shader.TileMode.CLAMP) + binding.bgBook.setRenderEffect(blurEffect) + }else{ + BookCover.loadBlur(this, book.getDisplayCover(), false, book.origin) + .into(binding.bgBook) + } } } } @@ -399,9 +412,9 @@ class BookInfoActivity : private fun upTvBookshelf() { if (viewModel.inBookshelf) { - binding.tvShelf.text = getString(R.string.remove_from_bookshelf) + binding.btnShelf?.text = getString(R.string.remove_from_bookshelf) } else { - binding.tvShelf.text = getString(R.string.add_to_bookshelf) + binding.btnShelf?.text = getString(R.string.add_to_bookshelf) } editMenuItem?.isVisible = viewModel.inBookshelf } @@ -434,7 +447,7 @@ class BookInfoActivity : } true } - tvRead.setOnClickListener { + btnRead?.setOnClickListener { viewModel.getBook()?.let { book -> if (book.isWebFile) { showWebFileDownloadAlert { @@ -445,7 +458,7 @@ class BookInfoActivity : } } } - tvShelf.setOnClickListener { + btnShelf?.setOnClickListener { viewModel.getBook()?.let { book -> if (viewModel.inBookshelf) { deleteBook() @@ -472,7 +485,7 @@ class BookInfoActivity : } } } - tvChangeSource.setOnClickListener { + btnChangeSource?.setOnClickListener { viewModel.getBook()?.let { book -> showDialogFragment(ChangeBookSourceDialog(book.name, book.author)) } diff --git a/app/src/main/res/layout/activity_book_info.xml b/app/src/main/res/layout/activity_book_info.xml index 2515362a1..8a6028661 100644 --- a/app/src/main/res/layout/activity_book_info.xml +++ b/app/src/main/res/layout/activity_book_info.xml @@ -10,24 +10,23 @@ android:id="@+id/bg_book" android:layout_width="match_parent" android:layout_height="match_parent" + android:foreground="@drawable/bg_book_mask" android:contentDescription="@string/bg_image" android:scaleType="centerCrop" app:layout_constraintTop_toTopOf="parent" /> + + app:layout_constraintTop_toTopOf="parent" /> - - - + android:background="@drawable/bg_gradient_mask" + android:padding="16dp"> - + + + + + + + + + + + + + + + + + + + + + + + @@ -112,16 +186,7 @@ android:layout_marginBottom="6dp" android:scrollbars="none"> - + + android:paddingTop="4dp" + android:paddingBottom="4dp"> - - - - - - - - + tools:text="@string/toc_s" /> @@ -243,7 +271,6 @@ android:contentDescription="@string/read_dur_progress" android:paddingRight="2dp" android:src="@drawable/ic_book_last" - app:tint="@color/tv_text_summary" tools:ignore="RtlHardcoded,RtlSymmetry" /> @@ -276,7 +302,6 @@ android:contentDescription="@string/read_dur_progress" android:paddingRight="2dp" android:src="@drawable/ic_groups" - app:tint="@color/tv_text_summary" tools:ignore="RtlHardcoded,RtlSymmetry" /> @@ -306,50 +330,7 @@ - - - - - - - - @@ -364,9 +345,8 @@ android:paddingLeft="8dp" android:paddingBottom="8dp" android:text="@string/book_intro" - android:textColor="@color/secondaryText" android:textIsSelectable="true" - android:textSize="14sp" + android:textSize="16sp" android:visibility="visible" tools:ignore="RtlHardcoded,RtlSymmetry" /> @@ -378,42 +358,36 @@ - - - + android:textSize="15sp" + app:iconPadding="0dp" /> - + android:textSize="15sp" + app:iconPadding="0dp" />