Commit 5dc4ba75 authored by wanglei's avatar wanglei

...

parent f88809d5
package com.base.browserwhite.ui.activity.search package com.base.browserwhite.ui.activity.search
import android.animation.ObjectAnimator
import android.content.Context import android.content.Context
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.view.animation.AccelerateDecelerateInterpolator
import androidx.recyclerview.widget.RecyclerView.ViewHolder import androidx.recyclerview.widget.RecyclerView.ViewHolder
import com.base.browserwhite.R import com.base.browserwhite.R
import com.base.browserwhite.databinding.ItemSearchTipBinding import com.base.browserwhite.databinding.ItemSearchTipBinding
import com.base.browserwhite.utils.XmlEx.inflate import com.base.browserwhite.utils.XmlEx.inflate
import com.chad.library.adapter4.BaseQuickAdapter import com.chad.library.adapter4.BaseQuickAdapter
class SearchAdapter : BaseQuickAdapter<String, SearchAdapter.SearchViewHolder>() { class SearchAdapter : BaseQuickAdapter<String, SearchAdapter.SearchViewHolder>() {
inner class SearchViewHolder(view: View) : ViewHolder(view) inner class SearchViewHolder(view: View) : ViewHolder(view)
...@@ -23,6 +26,7 @@ class SearchAdapter : BaseQuickAdapter<String, SearchAdapter.SearchViewHolder>() ...@@ -23,6 +26,7 @@ class SearchAdapter : BaseQuickAdapter<String, SearchAdapter.SearchViewHolder>()
} }
} }
override fun onCreateViewHolder(context: Context, parent: ViewGroup, viewType: Int): SearchViewHolder { override fun onCreateViewHolder(context: Context, parent: ViewGroup, viewType: Int): SearchViewHolder {
return SearchViewHolder(R.layout.item_search_tip.inflate(parent)) return SearchViewHolder(R.layout.item_search_tip.inflate(parent))
} }
......
package com.base.browserwhite.ui.activity.search package com.base.browserwhite.ui.activity.search
import android.animation.AnimatorSet
import android.animation.ObjectAnimator
import android.content.Context import android.content.Context
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.view.animation.AccelerateDecelerateInterpolator
import androidx.core.view.isVisible import androidx.core.view.isVisible
import androidx.recyclerview.widget.RecyclerView.ViewHolder import androidx.recyclerview.widget.RecyclerView.ViewHolder
import com.base.browserwhite.R import com.base.browserwhite.R
...@@ -11,6 +14,7 @@ import com.base.browserwhite.databinding.ItemSearchrecordBinding ...@@ -11,6 +14,7 @@ import com.base.browserwhite.databinding.ItemSearchrecordBinding
import com.base.browserwhite.utils.XmlEx.inflate import com.base.browserwhite.utils.XmlEx.inflate
import com.chad.library.adapter4.BaseQuickAdapter import com.chad.library.adapter4.BaseQuickAdapter
class SearchRecordAdapter : BaseQuickAdapter<SearchRecordBean, SearchRecordAdapter.SearchRecordViewHolder>() { class SearchRecordAdapter : BaseQuickAdapter<SearchRecordBean, SearchRecordAdapter.SearchRecordViewHolder>() {
inner class SearchRecordViewHolder(view: View) : ViewHolder(view) { inner class SearchRecordViewHolder(view: View) : ViewHolder(view) {
...@@ -33,9 +37,34 @@ class SearchRecordAdapter : BaseQuickAdapter<SearchRecordBean, SearchRecordAdapt ...@@ -33,9 +37,34 @@ class SearchRecordAdapter : BaseQuickAdapter<SearchRecordBean, SearchRecordAdapt
binding.ivDelete.setOnClickListener { binding.ivDelete.setOnClickListener {
deleteAction?.invoke() deleteAction?.invoke()
} }
if (!item.isDelete) {
showItemAnimation(binding.root)
}
}
private fun showItemAnimation(view: View) {
// 创建一个动画集合
val animatorSet = AnimatorSet()
// 创建一个属性动画,改变透明度
val alphaAnimator = ObjectAnimator.ofFloat(view, "alpha", 0f, 1f)
alphaAnimator.setDuration(500) // 设置动画持续时间
alphaAnimator.interpolator = AccelerateDecelerateInterpolator() // 设置加速器
// alphaAnimator.start()
// 创建一个属性动画,先往右边移动100像素,然后回到原位置
val moveRightAnimator = ObjectAnimator.ofFloat(view, "translationX", 10f, 0f)
moveRightAnimator.setDuration(500) // 设置动画持续时间为1000毫秒
moveRightAnimator.interpolator = AccelerateDecelerateInterpolator() // 设置插值器为先加速后减速
// moveRightAnimator.start()
animatorSet.playTogether(alphaAnimator, moveRightAnimator)
animatorSet.start()
} }
override fun onCreateViewHolder(context: Context, parent: ViewGroup, viewType: Int): SearchRecordViewHolder { override fun onCreateViewHolder(context: Context, parent: ViewGroup, viewType: Int): SearchRecordViewHolder {
return SearchRecordViewHolder(R.layout.item_searchrecord.inflate(parent)) return SearchRecordViewHolder(R.layout.item_searchrecord.inflate(parent))
} }
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:alpha="0"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal" android:orientation="horizontal"
tools:ignore="UseCompoundDrawables"> tools:ignore="UseCompoundDrawables">
......
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