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 0ecd95d2c..76d68d6c9 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 @@ -10,6 +10,7 @@ import io.legado.app.App import io.legado.app.R import io.legado.app.base.VMBaseFragment import io.legado.app.data.entities.RssArticle +import io.legado.app.help.AppConfig import io.legado.app.lib.theme.ATH import io.legado.app.ui.rss.read.ReadRssActivity import io.legado.app.ui.widget.recycler.LoadMoreView @@ -51,11 +52,23 @@ class RssArticlesFragment : VMBaseFragment(R.layout.fragme initData() } - fun initView() { + fun switchLayout() { + initView() + initData() + } + + private fun initView() { ATH.applyEdgeEffectColor(recycler_view) recycler_view.layoutManager = LinearLayoutManager(requireContext()) recycler_view.addItemDecoration(VerticalDivider(requireContext())) - var layoutId = R.layout.item_rss_article; + + var rssLayoutConfig = AppConfig.rssLayout + var layoutId = R.layout.item_rss_article + if (rssLayoutConfig == 1) + layoutId = R.layout.item_rss_article_1 + else if (rssLayoutConfig == 2) + layoutId = R.layout.item_rss_article_2 + adapter = RssArticlesAdapter(requireContext(), layoutId, this) recycler_view.adapter = adapter loadMoreView = LoadMoreView(requireContext()) diff --git a/app/src/main/java/io/legado/app/ui/rss/article/RssSortActivity.kt b/app/src/main/java/io/legado/app/ui/rss/article/RssSortActivity.kt index 414cc65c4..10f9a718b 100644 --- a/app/src/main/java/io/legado/app/ui/rss/article/RssSortActivity.kt +++ b/app/src/main/java/io/legado/app/ui/rss/article/RssSortActivity.kt @@ -84,7 +84,7 @@ class RssSortActivity : VMBaseActivity(R.layout.activity_rss_a if (i > 2) i = 0 AppConfig.rssLayout = i fragments?.forEach { - it.value?.initView() + it.value?.switchLayout() }; } diff --git a/app/src/main/res/layout/item_rss_article_1.xml b/app/src/main/res/layout/item_rss_article_1.xml new file mode 100644 index 000000000..ebabc57e2 --- /dev/null +++ b/app/src/main/res/layout/item_rss_article_1.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + \ 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 new file mode 100644 index 000000000..df31c7d70 --- /dev/null +++ b/app/src/main/res/layout/item_rss_article_2.xml @@ -0,0 +1,50 @@ + + + + + + + + + + \ No newline at end of file