Commit 5dc4ba75 authored by wanglei's avatar wanglei

...

parent f88809d5
package com.base.browserwhite.ui.activity.search
import android.animation.ObjectAnimator
import android.content.Context
import android.view.View
import android.view.ViewGroup
import android.view.animation.AccelerateDecelerateInterpolator
import androidx.recyclerview.widget.RecyclerView.ViewHolder
import com.base.browserwhite.R
import com.base.browserwhite.databinding.ItemSearchTipBinding
import com.base.browserwhite.utils.XmlEx.inflate
import com.chad.library.adapter4.BaseQuickAdapter
class SearchAdapter : BaseQuickAdapter<String, SearchAdapter.SearchViewHolder>() {
inner class SearchViewHolder(view: View) : ViewHolder(view)
......@@ -23,6 +26,7 @@ class SearchAdapter : BaseQuickAdapter<String, SearchAdapter.SearchViewHolder>()
}
}
override fun onCreateViewHolder(context: Context, parent: ViewGroup, viewType: Int): SearchViewHolder {
return SearchViewHolder(R.layout.item_search_tip.inflate(parent))
}
......
package com.base.browserwhite.ui.activity.search
import android.animation.AnimatorSet
import android.animation.ObjectAnimator
import android.content.Context
import android.view.View
import android.view.ViewGroup
import android.view.animation.AccelerateDecelerateInterpolator
import androidx.core.view.isVisible
import androidx.recyclerview.widget.RecyclerView.ViewHolder
import com.base.browserwhite.R
......@@ -11,6 +14,7 @@ import com.base.browserwhite.databinding.ItemSearchrecordBinding
import com.base.browserwhite.utils.XmlEx.inflate
import com.chad.library.adapter4.BaseQuickAdapter
class SearchRecordAdapter : BaseQuickAdapter<SearchRecordBean, SearchRecordAdapter.SearchRecordViewHolder>() {
inner class SearchRecordViewHolder(view: View) : ViewHolder(view) {
......@@ -33,9 +37,34 @@ class SearchRecordAdapter : BaseQuickAdapter<SearchRecordBean, SearchRecordAdapt
binding.ivDelete.setOnClickListener {
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 {
return SearchRecordViewHolder(R.layout.item_searchrecord.inflate(parent))
}
......
......@@ -2,6 +2,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:alpha="0"
android:layout_height="wrap_content"
android:orientation="horizontal"
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