Commit 0eebeedd authored by wanglei's avatar wanglei

...

parent 922bd6dc
package com.base.browserwhite.ui.activity.result package com.base.browserwhite.ui.activity.result
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Intent
import android.graphics.Color import android.graphics.Color
import androidx.activity.addCallback import androidx.activity.addCallback
import com.base.browserwhite.bean.ConstObject.JUNK_CLEANER import com.base.browserwhite.bean.ConstObject.JUNK_CLEANER
import com.base.browserwhite.databinding.ActivityResultBinding import com.base.browserwhite.databinding.ActivityResultBinding
import com.base.browserwhite.ui.activity.BaseActivity import com.base.browserwhite.ui.activity.BaseActivity
import com.base.browserwhite.ui.activity.webbrowser.WebBrowserActivity
import com.base.browserwhite.ui.adapter.NewsAdapter import com.base.browserwhite.ui.adapter.NewsAdapter
import com.base.browserwhite.ui.fragment.HomeFragment
import com.base.browserwhite.utils.BarUtils import com.base.browserwhite.utils.BarUtils
import com.base.browserwhite.utils.KotlinExt.toFormatSize import com.base.browserwhite.utils.KotlinExt.toFormatSize
import com.base.browserwhite.utils.LogEx import com.base.browserwhite.utils.LogEx
...@@ -43,7 +46,11 @@ class ResultActivity : BaseActivity<ActivityResultBinding>() { ...@@ -43,7 +46,11 @@ class ResultActivity : BaseActivity<ActivityResultBinding>() {
} }
} }
} }
newsAdapter = NewsAdapter() newsAdapter = NewsAdapter { url ->
startActivity(Intent(this, WebBrowserActivity::class.java).apply {
putExtra("url", url)
})
}
helper = helper =
QuickAdapterHelper.Builder(newsAdapter).setTrailingLoadStateAdapter(object : TrailingLoadStateAdapter.OnTrailingListener { QuickAdapterHelper.Builder(newsAdapter).setTrailingLoadStateAdapter(object : TrailingLoadStateAdapter.OnTrailingListener {
override fun onLoad() { override fun onLoad() {
......
...@@ -26,7 +26,7 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() { ...@@ -26,7 +26,7 @@ class WebBrowserActivity : BaseActivity<ActivityWebBrowserBinding>() {
BarUtils.setStatusBarColor(this, Color.TRANSPARENT) BarUtils.setStatusBarColor(this, Color.TRANSPARENT)
binding.root.updatePadding(top = BarUtils.getStatusBarHeight()) binding.root.updatePadding(top = BarUtils.getStatusBarHeight())
val uri = intent.extras?.getString("uri") ?: "" val uri = intent.extras?.getString("url") ?: ""
binding.editWeb.setText(uri) binding.editWeb.setText(uri)
......
...@@ -44,7 +44,7 @@ class WevStoreActivity : BaseActivity<ActivityWevStoreBinding>() { ...@@ -44,7 +44,7 @@ class WevStoreActivity : BaseActivity<ActivityWevStoreBinding>() {
adapter = WebSiteGroupAdapter(clickAction = { bean -> adapter = WebSiteGroupAdapter(clickAction = { bean ->
startActivity(Intent(this, WebBrowserActivity::class.java).apply { startActivity(Intent(this, WebBrowserActivity::class.java).apply {
putExtra("uri", bean.url) putExtra("url", bean.url)
}) })
finish() finish()
}) })
......
...@@ -36,7 +36,7 @@ class HeadWebsiteAdapter : BaseSingleItemAdapter<List<WebSiteBean>, HeadWebsiteA ...@@ -36,7 +36,7 @@ class HeadWebsiteAdapter : BaseSingleItemAdapter<List<WebSiteBean>, HeadWebsiteA
context.startActivity(Intent(context, WevStoreActivity::class.java)) context.startActivity(Intent(context, WevStoreActivity::class.java))
} else { } else {
context.startActivity(Intent(context, WebBrowserActivity::class.java).apply { context.startActivity(Intent(context, WebBrowserActivity::class.java).apply {
putExtra("uri", bean.url) putExtra("url", bean.url)
}) })
} }
} }
......
...@@ -19,7 +19,9 @@ import com.bumptech.glide.request.RequestListener ...@@ -19,7 +19,9 @@ import com.bumptech.glide.request.RequestListener
import com.bumptech.glide.request.target.Target import com.bumptech.glide.request.target.Target
import com.chad.library.adapter4.BaseQuickAdapter import com.chad.library.adapter4.BaseQuickAdapter
class NewsAdapter : BaseQuickAdapter<NewsBean, NewsAdapter.NewsViewHolder>() { class NewsAdapter(
val clickAction: (url: String) -> Unit
) : BaseQuickAdapter<NewsBean, NewsAdapter.NewsViewHolder>() {
private val TAG = "NewsAdapter" private val TAG = "NewsAdapter"
...@@ -31,16 +33,23 @@ class NewsAdapter : BaseQuickAdapter<NewsBean, NewsAdapter.NewsViewHolder>() { ...@@ -31,16 +33,23 @@ class NewsAdapter : BaseQuickAdapter<NewsBean, NewsAdapter.NewsViewHolder>() {
return NewsViewHolder(R.layout.item_news.inflate(parent)) return NewsViewHolder(R.layout.item_news.inflate(parent))
} }
override fun onBindViewHolder(holder: NewsViewHolder, position: Int, bean: NewsBean?) { override fun onBindViewHolder(holder: NewsViewHolder, position: Int, item: NewsBean?) {
LogEx.logDebug(TAG,"onBindViewHolder") LogEx.logDebug(TAG, "onBindViewHolder")
if (bean == null) { if (item == null) {
return return
} }
val binding = ItemNewsBinding.bind(holder.itemView) val binding = ItemNewsBinding.bind(holder.itemView)
if (items.first() == item) {
binding.ll.visibility = View.VISIBLE
} else {
binding.ll.visibility = View.GONE
}
// val bean = beanList[position] // val bean = beanList[position]
val context = holder.itemView.context val context = holder.itemView.context
Glide.with(context).load(bean.orgImgPath).listener(object : RequestListener<Drawable> { Glide.with(context).load(item.orgImgPath).listener(object : RequestListener<Drawable> {
override fun onLoadFailed( override fun onLoadFailed(
e: GlideException?, e: GlideException?,
model: Any?, model: Any?,
...@@ -61,12 +70,15 @@ class NewsAdapter : BaseQuickAdapter<NewsBean, NewsAdapter.NewsViewHolder>() { ...@@ -61,12 +70,15 @@ class NewsAdapter : BaseQuickAdapter<NewsBean, NewsAdapter.NewsViewHolder>() {
} }
}).centerCrop().into(binding.ivMedia) }).centerCrop().into(binding.ivMedia)
binding.tvTittle.text = bean.headline binding.tvTittle.text = item.headline
runCatching { runCatching {
Glide.with(context).load(bean.mediaIcon).into(binding.ivIcon) Glide.with(context).load(item.mediaIcon).into(binding.ivIcon)
}
binding.tvMediaName.text = item.mediaName
binding.tvPublishTime.text = item.publishTime.toFormatTime()
binding.root.setOnClickListener {
clickAction.invoke(item.linkPath)
} }
binding.tvMediaName.text = bean.mediaName
binding.tvPublishTime.text = bean.publishTime.toFormatTime()
} }
fun getLastPageNumber(): Long? { fun getLastPageNumber(): Long? {
......
...@@ -39,7 +39,11 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() { ...@@ -39,7 +39,11 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
override fun setView() { override fun setView() {
newsAdapter = NewsAdapter() newsAdapter = NewsAdapter { url ->
requireContext().startActivity(Intent(requireContext(), WebBrowserActivity::class.java).apply {
putExtra("url", url)
})
}
helper = helper =
QuickAdapterHelper.Builder(newsAdapter).setTrailingLoadStateAdapter(object : TrailingLoadStateAdapter.OnTrailingListener { QuickAdapterHelper.Builder(newsAdapter).setTrailingLoadStateAdapter(object : TrailingLoadStateAdapter.OnTrailingListener {
override fun onLoad() { override fun onLoad() {
...@@ -158,7 +162,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() { ...@@ -158,7 +162,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>() {
override fun onEditorAction(v: TextView?, actionId: Int, event: KeyEvent?): Boolean { override fun onEditorAction(v: TextView?, actionId: Int, event: KeyEvent?): Boolean {
if (actionId == IME_ACTION_DONE) { if (actionId == IME_ACTION_DONE) {
requireActivity().startActivity(Intent(requireContext(), WebBrowserActivity::class.java).apply { requireActivity().startActivity(Intent(requireContext(), WebBrowserActivity::class.java).apply {
putExtra("uri", getGoogleSearch(v.toString())) putExtra("url", getGoogleSearch(v.toString()))
}) })
return true; // 返回true表示事件已处理 return true; // 返回true表示事件已处理
} }
......
...@@ -176,18 +176,12 @@ ...@@ -176,18 +176,12 @@
android:orientation="vertical" android:orientation="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior"> app:layout_behavior="@string/appbar_scrolling_view_behavior">
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginHorizontal="26dp"
android:layout_marginTop="16dp"
android:background="#E5E6EB" />
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv" android:id="@+id/rv"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" /> android:layout_height="wrap_content"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
</LinearLayout> </LinearLayout>
......
...@@ -8,6 +8,35 @@ ...@@ -8,6 +8,35 @@
android:layout_marginVertical="8dp" android:layout_marginVertical="8dp"
android:orientation="vertical"> android:orientation="vertical">
<FrameLayout
android:id="@+id/ll"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|start"
android:layout_marginVertical="16dp"
android:text="News"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
<TextView
android:id="@+id/tv_more"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
android:text="More"
android:textColor="#0571ED"
android:textSize="15sp"
android:textStyle="bold"
tools:ignore="HardcodedText" />
</FrameLayout>
<androidx.cardview.widget.CardView <androidx.cardview.widget.CardView
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="180dp" android:layout_height="180dp"
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.recyclerview.widget.RecyclerView xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_website" android:id="@+id/rv_website"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_span="3"
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager" app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
tools:listitem="@layout/item_website_grid"> tools:listitem="@layout/item_website_grid" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginHorizontal="26dp"
android:layout_marginTop="16dp"
android:background="#E5E6EB" />
</androidx.recyclerview.widget.RecyclerView> </LinearLayout>
\ No newline at end of file \ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment