diff --git a/app/src/main/java/io/legado/app/help/AppConfig.kt b/app/src/main/java/io/legado/app/help/AppConfig.kt index 5dde9aa40..cb4e267ac 100644 --- a/app/src/main/java/io/legado/app/help/AppConfig.kt +++ b/app/src/main/java/io/legado/app/help/AppConfig.kt @@ -1,5 +1,6 @@ package io.legado.app.help +import android.annotation.SuppressLint import android.content.Context import android.content.pm.PackageManager import io.legado.app.App @@ -123,7 +124,11 @@ object AppConfig { } var elevation: Int - get() = App.INSTANCE.getPrefInt("elevation", -1) + @SuppressLint("PrivateResource") + get() = App.INSTANCE.getPrefInt( + "elevation", + App.INSTANCE.resources.getDimension(R.dimen.design_appbar_elevation).toInt() + ) set(value) { App.INSTANCE.putPrefInt("elevation", value) } diff --git a/app/src/main/java/io/legado/app/help/http/HttpHelper.kt b/app/src/main/java/io/legado/app/help/http/HttpHelper.kt index dd480fbf5..af6dfa0b1 100644 --- a/app/src/main/java/io/legado/app/help/http/HttpHelper.kt +++ b/app/src/main/java/io/legado/app/help/http/HttpHelper.kt @@ -44,11 +44,7 @@ object HttpHelper { val response = getApiService(baseUrl, encode) .get(url, mapOf()) .execute() - return if (response.body() != null) { - response.body() - } else { - response.errorBody().toString() - } + return response.body() } return null } diff --git a/app/src/main/java/io/legado/app/ui/config/ThemeConfigFragment.kt b/app/src/main/java/io/legado/app/ui/config/ThemeConfigFragment.kt index 7b163b3e6..488fe3b05 100644 --- a/app/src/main/java/io/legado/app/ui/config/ThemeConfigFragment.kt +++ b/app/src/main/java/io/legado/app/ui/config/ThemeConfigFragment.kt @@ -1,5 +1,6 @@ package io.legado.app.ui.config +import android.annotation.SuppressLint import android.content.SharedPreferences import android.os.Build import android.os.Bundle @@ -115,6 +116,7 @@ class ThemeConfigFragment : PreferenceFragmentCompat(), SharedPreferences.OnShar } + @SuppressLint("PrivateResource") override fun onPreferenceTreeClick(preference: Preference?): Boolean { when (preference?.key) { "defaultTheme" -> alert(title = "切换默认主题") { diff --git a/app/src/main/java/io/legado/app/ui/rss/article/RssArticlesFragment.kt b/app/src/main/java/io/legado/app/ui/rss/article/RssArticlesFragment.kt index 201675028..22a62bb63 100644 --- a/app/src/main/java/io/legado/app/ui/rss/article/RssArticlesFragment.kt +++ b/app/src/main/java/io/legado/app/ui/rss/article/RssArticlesFragment.kt @@ -4,6 +4,7 @@ import android.os.Bundle import android.view.View import androidx.lifecycle.LiveData import androidx.lifecycle.Observer +import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import io.legado.app.App @@ -53,7 +54,11 @@ class RssArticlesFragment : VMBaseFragment(R.layout.fragme private fun initView() { ATH.applyEdgeEffectColor(recycler_view) - recycler_view.layoutManager = LinearLayoutManager(requireContext()) + recycler_view.layoutManager = if (activityViewModel.isGridLayout) { + GridLayoutManager(requireContext(), 2) + } else { + LinearLayoutManager(requireContext()) + } recycler_view.addItemDecoration(VerticalDivider(requireContext())) adapter = RssArticlesAdapter(requireContext(), activityViewModel.layoutId, this) recycler_view.adapter = adapter diff --git a/app/src/main/java/io/legado/app/ui/rss/article/RssSortViewModel.kt b/app/src/main/java/io/legado/app/ui/rss/article/RssSortViewModel.kt index e65dd37f4..135064bce 100644 --- a/app/src/main/java/io/legado/app/ui/rss/article/RssSortViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/rss/article/RssSortViewModel.kt @@ -16,9 +16,11 @@ class RssSortViewModel(application: Application) : BaseViewModel(application) { var rssSource: RssSource? = null val titleLiveData = MutableLiveData() var order = System.currentTimeMillis() + val isGridLayout get() = rssSource?.articleStyle == 2 val layoutId get() = when (rssSource?.articleStyle) { 1 -> R.layout.item_rss_article_1 + 2 -> R.layout.item_rss_article_2 else -> R.layout.item_rss_article } @@ -40,7 +42,7 @@ class RssSortViewModel(application: Application) : BaseViewModel(application) { fun switchLayout() { rssSource?.let { - if (it.articleStyle < 1) { + if (it.articleStyle < 2) { it.articleStyle = it.articleStyle + 1 } else { it.articleStyle = 0 diff --git a/app/src/main/res/drawable/bg_img_border.xml b/app/src/main/res/drawable/bg_img_border.xml index 9eb8d9540..07783726c 100644 --- a/app/src/main/res/drawable/bg_img_border.xml +++ b/app/src/main/res/drawable/bg_img_border.xml @@ -1,8 +1,13 @@ - - - - - - + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_rss_article_2.xml b/app/src/main/res/layout/item_rss_article_2.xml index b9a80e3d2..55eaa7aac 100644 --- a/app/src/main/res/layout/item_rss_article_2.xml +++ b/app/src/main/res/layout/item_rss_article_2.xml @@ -42,12 +42,13 @@ android:layout_height="wrap_content" android:layout_gravity="center" android:text="@string/app_name" - android:textSize="10sp" + android:textSize="11sp" android:maxLines="1" android:paddingTop="8dp" android:paddingBottom="2dp" app:layout_constraintTop_toBottomOf="@+id/tv_title" app:layout_constraintLeft_toLeftOf="parent" - app:layout_constraintRight_toRightOf="parent" /> + app:layout_constraintRight_toRightOf="parent" + tools:ignore="SmallSp" /> \ No newline at end of file diff --git a/app/src/main/res/xml/pref_config_theme.xml b/app/src/main/res/xml/pref_config_theme.xml index 5b4af51f5..94bef734c 100644 --- a/app/src/main/res/xml/pref_config_theme.xml +++ b/app/src/main/res/xml/pref_config_theme.xml @@ -12,15 +12,6 @@ app:icons="@array/icons" app:iconSpaceReserved="false" /> - -