From 5c1ab9d01799da7db08f0bec2d3292c8d3276a78 Mon Sep 17 00:00:00 2001 From: kunfei Date: Tue, 19 May 2020 21:26:32 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/ui/rss/article/RssArticlesAdapter.kt | 15 +++++++++++---- .../app/ui/rss/article/RssArticlesFragment.kt | 2 ++ app/src/main/res/drawable/image_rss_article.jpg | Bin 0 -> 15838 bytes app/src/main/res/layout/item_rss_article.xml | 1 + 4 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 app/src/main/res/drawable/image_rss_article.jpg diff --git a/app/src/main/java/io/legado/app/ui/rss/article/RssArticlesAdapter.kt b/app/src/main/java/io/legado/app/ui/rss/article/RssArticlesAdapter.kt index 7b56df2aa..7d092aa61 100644 --- a/app/src/main/java/io/legado/app/ui/rss/article/RssArticlesAdapter.kt +++ b/app/src/main/java/io/legado/app/ui/rss/article/RssArticlesAdapter.kt @@ -1,5 +1,6 @@ package io.legado.app.ui.rss.article +import android.annotation.SuppressLint import android.content.Context import android.graphics.drawable.Drawable import com.bumptech.glide.load.DataSource @@ -21,15 +22,19 @@ import org.jetbrains.anko.textColorResource class RssArticlesAdapter(context: Context, layoutId: Int, val callBack: CallBack) : SimpleRecyclerAdapter(context, layoutId) { + @SuppressLint("CheckResult") override fun convert(holder: ItemViewHolder, item: RssArticle, payloads: MutableList) { with(holder.itemView) { tv_title.text = item.title tv_pub_date.text = item.pubDate - if (item.image.isNullOrBlank()) { + if (item.image.isNullOrBlank() && !callBack.isGridLayout) { image_view.gone() } else { - ImageLoader.load(context, item.image) - .addListener(object : RequestListener { + val glide = ImageLoader.load(context, item.image) + if (callBack.isGridLayout) { + glide.placeholder(R.drawable.image_rss_article) + } else { + glide.addListener(object : RequestListener { override fun onLoadFailed( e: GlideException?, model: Any?, @@ -52,7 +57,8 @@ class RssArticlesAdapter(context: Context, layoutId: Int, val callBack: CallBack } }) - .into(image_view) + } + glide.into(image_view) } if (item.read) { tv_title.textColorResource = R.color.tv_text_summary @@ -71,6 +77,7 @@ class RssArticlesAdapter(context: Context, layoutId: Int, val callBack: CallBack } interface CallBack { + val isGridLayout: Boolean fun readRss(rssArticle: RssArticle) } } \ No newline at end of file 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 0b116a854..f2329cb84 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 @@ -43,6 +43,8 @@ class RssArticlesFragment : VMBaseFragment(R.layout.fragme lateinit var adapter: RssArticlesAdapter private lateinit var loadMoreView: LoadMoreView private var rssArticlesData: LiveData>? = null + override val isGridLayout: Boolean + get() = activityViewModel.isGridLayout override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) { viewModel.init(arguments) diff --git a/app/src/main/res/drawable/image_rss_article.jpg b/app/src/main/res/drawable/image_rss_article.jpg new file mode 100644 index 0000000000000000000000000000000000000000..471b5650fbe8bd0e475848cdb2da78435b442625 GIT binary patch literal 15838 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