From 8857d1d27c2d014623a7d75a9f7d125fb4d5219d Mon Sep 17 00:00:00 2001 From: zhangmengxiong Date: Thu, 30 Mar 2023 13:43:50 +0800 Subject: [PATCH 1/3] 666 --- .../mx/adapt/scroller/MXScrollPickerAdapt.kt | 29 +++------ .../mx/adapt/scroller/MXScrollPickerView.kt | 61 ++++++++++++++----- .../activity/ScrollerViewActivity.kt | 2 +- local.properties | 2 +- 4 files changed, 57 insertions(+), 37 deletions(-) diff --git a/MXAdapt/src/main/java/com/mx/adapt/scroller/MXScrollPickerAdapt.kt b/MXAdapt/src/main/java/com/mx/adapt/scroller/MXScrollPickerAdapt.kt index f76c49c..a76f8b4 100644 --- a/MXAdapt/src/main/java/com/mx/adapt/scroller/MXScrollPickerAdapt.kt +++ b/MXAdapt/src/main/java/com/mx/adapt/scroller/MXScrollPickerAdapt.kt @@ -17,26 +17,7 @@ internal class MXScrollPickerAdapt(private val scrollView: MXScrollPickerView) : return it } } - return MXBaseViewHolder( - LayoutMxScrollerSpaceBinding.inflate( - LayoutInflater.from(parent.context), - parent, - false - ), viewType - ) - } - - override fun createItem( - inflater: LayoutInflater, - parent: ViewGroup, - viewType: Int - ): ViewBinding { - if (viewType != Int.MAX_VALUE / 2) { - adapt?.createItem(inflater, parent, viewType)?.let { - return it - } - } - return LayoutMxScrollerSpaceBinding.inflate(inflater, parent, false) + return super.onCreateViewHolder(parent, viewType) } override fun onBindViewHolder(holder: MXBaseViewHolder, position: Int) { @@ -63,4 +44,12 @@ internal class MXScrollPickerAdapt(private val scrollView: MXScrollPickerView) : override fun getItemCount(): Int { return (adapt?.itemCount ?: 0) + scrollView.itemOffset * 2 } + + override fun createItem( + inflater: LayoutInflater, + parent: ViewGroup, + viewType: Int + ): ViewBinding { + return LayoutMxScrollerSpaceBinding.inflate(inflater, parent, false) + } } \ No newline at end of file diff --git a/MXAdapt/src/main/java/com/mx/adapt/scroller/MXScrollPickerView.kt b/MXAdapt/src/main/java/com/mx/adapt/scroller/MXScrollPickerView.kt index be8a321..f497be3 100644 --- a/MXAdapt/src/main/java/com/mx/adapt/scroller/MXScrollPickerView.kt +++ b/MXAdapt/src/main/java/com/mx/adapt/scroller/MXScrollPickerView.kt @@ -12,6 +12,7 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearSnapHelper import androidx.recyclerview.widget.RecyclerView import com.mx.adapt.MXBaseSimpleAdapt +import com.mx.adapt.utils.MXUtils import kotlin.math.max class MXScrollPickerView @JvmOverloads constructor( @@ -28,6 +29,9 @@ class MXScrollPickerView @JvmOverloads constructor( private var itemSelect: IMXSelect? = null private var currentSelectIndex = NO_POSITION + // 滚动动画时长 + private var animationDuration: Int = 500 + // 中间选中的阴影 private var dashColor: Int? = Color.parseColor("#33999999") private val dashPaint = Paint().apply { style = Paint.Style.FILL } @@ -38,7 +42,8 @@ class MXScrollPickerView @JvmOverloads constructor( layoutManager = manager super.setAdapter(pickerAdapt) pickerAdapt.setItemClick { position, _ -> - smoothScrollTo(position - itemOffset, true) + val targetIndex = position - itemOffset + smoothScrollTo(targetIndex, true) } addOnScrollListener(object : OnScrollListener() { override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) { @@ -46,10 +51,6 @@ class MXScrollPickerView @JvmOverloads constructor( notifySelectChange(manager.findFirstCompletelyVisibleItemPosition()) } } - - override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) { - notifySelectChange(manager.findFirstCompletelyVisibleItemPosition()) - } }) viewTreeObserver.addOnPreDrawListener(object : ViewTreeObserver.OnPreDrawListener { @@ -67,6 +68,14 @@ class MXScrollPickerView @JvmOverloads constructor( throw Exception("Forbidden call func 'setAdapter()'") } + override fun addItemDecoration(decor: ItemDecoration) { +// super.addItemDecoration(decor) + } + + override fun addItemDecoration(decor: ItemDecoration, index: Int) { +// super.addItemDecoration(decor, index) + } + override fun onDraw(canvas: Canvas) { super.onDraw(canvas) dashColor?.let { dash -> @@ -83,11 +92,25 @@ class MXScrollPickerView @JvmOverloads constructor( private fun getAllHeight() = height - paddingTop - paddingBottom + /** + * 设置中间色带颜色 + */ fun setDashColor(color: Int?) { dashColor = color postInvalidate() } + /** + * 设置滚动动画时长 + * 设置为0时,跳过动画 + */ + fun setAnimationDuration(durationMs: Int) { + animationDuration = durationMs + } + + /** + * 设置显示个数,需要是基数且不小于3 + */ fun setItemSize(size: Int) { if (size % 2 == 0) { throw Exception("数量不能为双数!") @@ -107,6 +130,11 @@ class MXScrollPickerView @JvmOverloads constructor( pickerAdapt.notifyDataSetChanged() } + /** + * 滚动到对应位置 + * @param index 位置 + * @param animation 是否滚动动画 + */ fun setSelectIndex(index: Int, animation: Boolean = false) { val position = max(0, index) // MXUtils.log("setSelectIndex") @@ -116,10 +144,16 @@ class MXScrollPickerView @JvmOverloads constructor( } } + /** + * 获取当前位置 + */ fun currentSelectIndex(): Int { return currentSelectIndex } + /** + * 监听滚动变化 + */ fun setOnSelectListener(listener: IMXSelect?) { itemSelect = listener notifySelectChange(manager.findFirstCompletelyVisibleItemPosition()) @@ -155,24 +189,21 @@ class MXScrollPickerView @JvmOverloads constructor( private fun notifySelectChange(index: Int) { if (index < 0 && index != NO_POSITION) return - val itemSelect = itemSelect ?: return if (index == currentSelectIndex) return currentSelectIndex = index - - // MXUtils.log("notifySelectChange($index)") - itemSelect.onSelect(index) + MXUtils.log("notifySelectChange($index)") + itemSelect?.onSelect(index) } private fun smoothScrollTo(position: Int, animation: Boolean) { - if (animation && itemHeight > 0) { + notifySelectChange(position) + if (animation && itemHeight > 0 && animationDuration > 0) { val current = manager.findFirstCompletelyVisibleItemPosition() - smoothScrollBy( - 0, itemHeight * (position - current), - DecelerateInterpolator(), 300 - ) + val top = (manager.findViewByPosition(current)?.top ?: 0) + val dy = itemHeight * (position - current) + top + smoothScrollBy(0, dy, DecelerateInterpolator(), animationDuration) } else { manager.scrollToPositionWithOffset(position, 0) } - notifySelectChange(position) } } \ No newline at end of file diff --git a/app/src/main/java/com/mx/recycle_adapt/activity/ScrollerViewActivity.kt b/app/src/main/java/com/mx/recycle_adapt/activity/ScrollerViewActivity.kt index e48579c..28e8945 100644 --- a/app/src/main/java/com/mx/recycle_adapt/activity/ScrollerViewActivity.kt +++ b/app/src/main/java/com/mx/recycle_adapt/activity/ScrollerViewActivity.kt @@ -18,7 +18,7 @@ class ScrollerViewActivity : AppCompatActivity() { super.onCreate(savedInstanceState) setContentView(R.layout.activity_scroller_view) val adapt = SpanCountAdapt() - adapt.list.addAll((0 until 130)) + adapt.list.addAll((0 until 13000)) adapt.notifyDataSetChanged() scrollerView.setItemSize(5) diff --git a/local.properties b/local.properties index 25df42e..ccc0961 100644 --- a/local.properties +++ b/local.properties @@ -5,4 +5,4 @@ # For customization when using a Version Control System, please read the # header note. #Wed Mar 29 16:24:36 CST 2023 -sdk.dir=D\:\\DevTools\\AndroidSDK +sdk.dir=D\:\\DevTools\\WinAndroidSdk -- Gitee From 4999ac9234a4b8a0c8d65757cb16a69114183fee Mon Sep 17 00:00:00 2001 From: zhangmengxiong Date: Thu, 30 Mar 2023 13:57:48 +0800 Subject: [PATCH 2/3] 666 --- .../java/com/mx/adapt/MXBaseSimpleAdapt.kt | 6 ----- .../adapt/{scroller => picker}/IMXSelect.kt | 2 +- .../MXScrollPickerAdapt.kt | 6 ++--- .../MXScrollPickerView.kt | 6 ++--- .../mx/adapt/picker/MXStringPickerAdapt.kt | 22 ++++++++++++++++ .../com/mx/adapt/picker/MXStringPickerView.kt | 25 +++++++++++++++++++ ...r_space.xml => layout_mx_picker_empty.xml} | 0 .../layout/layout_mx_picker_string_item.xml | 15 +++++++++++ .../activity/ScrollerViewActivity.kt | 9 +++++-- .../res/layout/activity_scroller_view.xml | 9 ++++++- 10 files changed, 84 insertions(+), 16 deletions(-) rename MXAdapt/src/main/java/com/mx/adapt/{scroller => picker}/IMXSelect.kt (63%) rename MXAdapt/src/main/java/com/mx/adapt/{scroller => picker}/MXScrollPickerAdapt.kt (91%) rename MXAdapt/src/main/java/com/mx/adapt/{scroller => picker}/MXScrollPickerView.kt (97%) create mode 100644 MXAdapt/src/main/java/com/mx/adapt/picker/MXStringPickerAdapt.kt create mode 100644 MXAdapt/src/main/java/com/mx/adapt/picker/MXStringPickerView.kt rename MXAdapt/src/main/res/layout/{layout_mx_scroller_space.xml => layout_mx_picker_empty.xml} (100%) create mode 100644 MXAdapt/src/main/res/layout/layout_mx_picker_string_item.xml diff --git a/MXAdapt/src/main/java/com/mx/adapt/MXBaseSimpleAdapt.kt b/MXAdapt/src/main/java/com/mx/adapt/MXBaseSimpleAdapt.kt index 2cceddc..2391668 100644 --- a/MXAdapt/src/main/java/com/mx/adapt/MXBaseSimpleAdapt.kt +++ b/MXAdapt/src/main/java/com/mx/adapt/MXBaseSimpleAdapt.kt @@ -53,11 +53,6 @@ abstract class MXBaseSimpleAdapt(val list: ArrayList = arrayListOf()) : } catch (e: Exception) { e.printStackTrace() } - try { - bindView(position, holder.binding) - } catch (e: Exception) { - e.printStackTrace() - } } /** @@ -83,7 +78,6 @@ abstract class MXBaseSimpleAdapt(val list: ArrayList = arrayListOf()) : * @param position 绑定View的位置 */ open fun bindView(position: Int, binding: ViewBinding, record: T) {} - open fun bindView(position: Int, binding: ViewBinding) {} /** * Item点击回调 diff --git a/MXAdapt/src/main/java/com/mx/adapt/scroller/IMXSelect.kt b/MXAdapt/src/main/java/com/mx/adapt/picker/IMXSelect.kt similarity index 63% rename from MXAdapt/src/main/java/com/mx/adapt/scroller/IMXSelect.kt rename to MXAdapt/src/main/java/com/mx/adapt/picker/IMXSelect.kt index 3d1f14b..f870957 100644 --- a/MXAdapt/src/main/java/com/mx/adapt/scroller/IMXSelect.kt +++ b/MXAdapt/src/main/java/com/mx/adapt/picker/IMXSelect.kt @@ -1,4 +1,4 @@ -package com.mx.adapt.scroller +package com.mx.adapt.picker interface IMXSelect { fun onSelect(index: Int) diff --git a/MXAdapt/src/main/java/com/mx/adapt/scroller/MXScrollPickerAdapt.kt b/MXAdapt/src/main/java/com/mx/adapt/picker/MXScrollPickerAdapt.kt similarity index 91% rename from MXAdapt/src/main/java/com/mx/adapt/scroller/MXScrollPickerAdapt.kt rename to MXAdapt/src/main/java/com/mx/adapt/picker/MXScrollPickerAdapt.kt index a76f8b4..9562f89 100644 --- a/MXAdapt/src/main/java/com/mx/adapt/scroller/MXScrollPickerAdapt.kt +++ b/MXAdapt/src/main/java/com/mx/adapt/picker/MXScrollPickerAdapt.kt @@ -1,4 +1,4 @@ -package com.mx.adapt.scroller +package com.mx.adapt.picker import android.view.LayoutInflater import android.view.ViewGroup @@ -6,7 +6,7 @@ import androidx.recyclerview.widget.RecyclerView import androidx.viewbinding.ViewBinding import com.mx.adapt.MXBaseSimpleAdapt import com.mx.adapt.MXBaseViewHolder -import com.mx.adapt.databinding.LayoutMxScrollerSpaceBinding +import com.mx.adapt.databinding.LayoutMxPickerEmptyBinding internal class MXScrollPickerAdapt(private val scrollView: MXScrollPickerView) : MXBaseSimpleAdapt() { @@ -50,6 +50,6 @@ internal class MXScrollPickerAdapt(private val scrollView: MXScrollPickerView) : parent: ViewGroup, viewType: Int ): ViewBinding { - return LayoutMxScrollerSpaceBinding.inflate(inflater, parent, false) + return LayoutMxPickerEmptyBinding.inflate(inflater, parent, false) } } \ No newline at end of file diff --git a/MXAdapt/src/main/java/com/mx/adapt/scroller/MXScrollPickerView.kt b/MXAdapt/src/main/java/com/mx/adapt/picker/MXScrollPickerView.kt similarity index 97% rename from MXAdapt/src/main/java/com/mx/adapt/scroller/MXScrollPickerView.kt rename to MXAdapt/src/main/java/com/mx/adapt/picker/MXScrollPickerView.kt index f497be3..0a34a16 100644 --- a/MXAdapt/src/main/java/com/mx/adapt/scroller/MXScrollPickerView.kt +++ b/MXAdapt/src/main/java/com/mx/adapt/picker/MXScrollPickerView.kt @@ -1,4 +1,4 @@ -package com.mx.adapt.scroller +package com.mx.adapt.picker import android.content.Context import android.graphics.Canvas @@ -15,7 +15,7 @@ import com.mx.adapt.MXBaseSimpleAdapt import com.mx.adapt.utils.MXUtils import kotlin.math.max -class MXScrollPickerView @JvmOverloads constructor( +open class MXScrollPickerView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null ) : RecyclerView(context, attrs) { private val manager = LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false) @@ -123,7 +123,7 @@ class MXScrollPickerView @JvmOverloads constructor( pickerAdapt.notifyDataSetChanged() } - fun setMXAdapt(adapt: MXBaseSimpleAdapt<*>?) { + open fun setMXAdapt(adapt: MXBaseSimpleAdapt<*>?) { pickerAdapt.adapt?.unregisterAdapterDataObserver(adaptObserver) pickerAdapt.adapt = adapt adapt?.registerAdapterDataObserver(adaptObserver) diff --git a/MXAdapt/src/main/java/com/mx/adapt/picker/MXStringPickerAdapt.kt b/MXAdapt/src/main/java/com/mx/adapt/picker/MXStringPickerAdapt.kt new file mode 100644 index 0000000..a30bbbd --- /dev/null +++ b/MXAdapt/src/main/java/com/mx/adapt/picker/MXStringPickerAdapt.kt @@ -0,0 +1,22 @@ +package com.mx.adapt.picker + +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.viewbinding.ViewBinding +import com.mx.adapt.MXBaseSimpleAdapt +import com.mx.adapt.databinding.LayoutMxPickerStringItemBinding + +class MXStringPickerAdapt : MXBaseSimpleAdapt() { + override fun createItem( + inflater: LayoutInflater, + parent: ViewGroup, + viewType: Int + ): ViewBinding { + return LayoutMxPickerStringItemBinding.inflate(inflater, parent, false) + } + + override fun bindView(position: Int, binding: ViewBinding, record: String) { + binding as LayoutMxPickerStringItemBinding + binding.infoTxv.text = record + } +} \ No newline at end of file diff --git a/MXAdapt/src/main/java/com/mx/adapt/picker/MXStringPickerView.kt b/MXAdapt/src/main/java/com/mx/adapt/picker/MXStringPickerView.kt new file mode 100644 index 0000000..44d1f04 --- /dev/null +++ b/MXAdapt/src/main/java/com/mx/adapt/picker/MXStringPickerView.kt @@ -0,0 +1,25 @@ +package com.mx.adapt.picker + +import android.content.Context +import android.util.AttributeSet +import com.mx.adapt.MXBaseSimpleAdapt + +open class MXStringPickerView(context: Context, attrs: AttributeSet? = null) : + MXScrollPickerView(context, attrs) { + private val adapt = MXStringPickerAdapt() + + init { + super.setMXAdapt(adapt) + } + + override fun setMXAdapt(adapt: MXBaseSimpleAdapt<*>?) { + // super.setMXAdapt(adapt) + throw Exception("Forbidden call func 'setMXAdapt()'") + } + + fun setData(list: List) { + adapt.list.clear() + adapt.list.addAll(list) + adapt.notifyDataSetChanged() + } +} \ No newline at end of file diff --git a/MXAdapt/src/main/res/layout/layout_mx_scroller_space.xml b/MXAdapt/src/main/res/layout/layout_mx_picker_empty.xml similarity index 100% rename from MXAdapt/src/main/res/layout/layout_mx_scroller_space.xml rename to MXAdapt/src/main/res/layout/layout_mx_picker_empty.xml diff --git a/MXAdapt/src/main/res/layout/layout_mx_picker_string_item.xml b/MXAdapt/src/main/res/layout/layout_mx_picker_string_item.xml new file mode 100644 index 0000000..8fdd02f --- /dev/null +++ b/MXAdapt/src/main/res/layout/layout_mx_picker_string_item.xml @@ -0,0 +1,15 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/mx/recycle_adapt/activity/ScrollerViewActivity.kt b/app/src/main/java/com/mx/recycle_adapt/activity/ScrollerViewActivity.kt index 28e8945..dbb474b 100644 --- a/app/src/main/java/com/mx/recycle_adapt/activity/ScrollerViewActivity.kt +++ b/app/src/main/java/com/mx/recycle_adapt/activity/ScrollerViewActivity.kt @@ -7,7 +7,7 @@ import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity import androidx.viewbinding.ViewBinding import com.mx.adapt.MXBaseSimpleAdapt -import com.mx.adapt.scroller.IMXSelect +import com.mx.adapt.picker.IMXSelect import com.mx.recycle_adapt.R import com.mx.recycle_adapt.databinding.AdaptSimpleIndexBinding import kotlinx.android.synthetic.main.activity_scroller_view.* @@ -39,8 +39,13 @@ class ScrollerViewActivity : AppCompatActivity() { adapt.notifyDataSetChanged() } scrollTxv.setOnClickListener { - scrollerView.setSelectIndex(Random.nextInt(adapt.list.size), true) + val indx = Random.nextInt(adapt.list.size) + scrollerView.setSelectIndex(indx, true) + scrollerView2.setSelectIndex(indx, true) } + + scrollerView2.setData((0 until 13000).map { it.toString() }) + scrollerView2.setSelectIndex(100) } diff --git a/app/src/main/res/layout/activity_scroller_view.xml b/app/src/main/res/layout/activity_scroller_view.xml index 353ba60..f960dc0 100644 --- a/app/src/main/res/layout/activity_scroller_view.xml +++ b/app/src/main/res/layout/activity_scroller_view.xml @@ -29,6 +29,7 @@ android:text="新增" android:textColor="#000000" android:textSize="14sp" /> + - + + \ No newline at end of file -- Gitee From dd152630a80450fb707d3c32dde0e3c8d6a74c6b Mon Sep 17 00:00:00 2001 From: zhangmengxiong Date: Thu, 30 Mar 2023 14:03:50 +0800 Subject: [PATCH 3/3] 1.3.0 --- .../main/java/com/mx/adapt/picker/MXStringPickerAdapt.kt | 4 ++++ .../main/java/com/mx/adapt/picker/MXStringPickerView.kt | 7 +++++++ .../src/main/res/layout/layout_mx_picker_string_item.xml | 5 ++--- README.md | 2 +- .../com/mx/recycle_adapt/activity/ScrollerViewActivity.kt | 3 +++ build.gradle | 2 +- 6 files changed, 18 insertions(+), 5 deletions(-) diff --git a/MXAdapt/src/main/java/com/mx/adapt/picker/MXStringPickerAdapt.kt b/MXAdapt/src/main/java/com/mx/adapt/picker/MXStringPickerAdapt.kt index a30bbbd..c46dbc9 100644 --- a/MXAdapt/src/main/java/com/mx/adapt/picker/MXStringPickerAdapt.kt +++ b/MXAdapt/src/main/java/com/mx/adapt/picker/MXStringPickerAdapt.kt @@ -2,11 +2,14 @@ package com.mx.adapt.picker import android.view.LayoutInflater import android.view.ViewGroup +import android.widget.FrameLayout +import android.widget.TextView import androidx.viewbinding.ViewBinding import com.mx.adapt.MXBaseSimpleAdapt import com.mx.adapt.databinding.LayoutMxPickerStringItemBinding class MXStringPickerAdapt : MXBaseSimpleAdapt() { + var itemProcess: ((position: Int, container: FrameLayout, textView: TextView) -> Unit)? = null override fun createItem( inflater: LayoutInflater, parent: ViewGroup, @@ -17,6 +20,7 @@ class MXStringPickerAdapt : MXBaseSimpleAdapt() { override fun bindView(position: Int, binding: ViewBinding, record: String) { binding as LayoutMxPickerStringItemBinding + itemProcess?.invoke(position, binding.root, binding.infoTxv) binding.infoTxv.text = record } } \ No newline at end of file diff --git a/MXAdapt/src/main/java/com/mx/adapt/picker/MXStringPickerView.kt b/MXAdapt/src/main/java/com/mx/adapt/picker/MXStringPickerView.kt index 44d1f04..d83f1df 100644 --- a/MXAdapt/src/main/java/com/mx/adapt/picker/MXStringPickerView.kt +++ b/MXAdapt/src/main/java/com/mx/adapt/picker/MXStringPickerView.kt @@ -2,6 +2,8 @@ package com.mx.adapt.picker import android.content.Context import android.util.AttributeSet +import android.widget.FrameLayout +import android.widget.TextView import com.mx.adapt.MXBaseSimpleAdapt open class MXStringPickerView(context: Context, attrs: AttributeSet? = null) : @@ -22,4 +24,9 @@ open class MXStringPickerView(context: Context, attrs: AttributeSet? = null) : adapt.list.addAll(list) adapt.notifyDataSetChanged() } + + fun setListItemProcess(process: ((position: Int, container: FrameLayout, textView: TextView) -> Unit)? = null) { + adapt.itemProcess = process + adapt.notifyDataSetChanged() + } } \ No newline at end of file diff --git a/MXAdapt/src/main/res/layout/layout_mx_picker_string_item.xml b/MXAdapt/src/main/res/layout/layout_mx_picker_string_item.xml index 8fdd02f..f934cfa 100644 --- a/MXAdapt/src/main/res/layout/layout_mx_picker_string_item.xml +++ b/MXAdapt/src/main/res/layout/layout_mx_picker_string_item.xml @@ -1,8 +1,7 @@ + android:layout_height="wrap_content"> + android:textSize="15sp" /> \ No newline at end of file diff --git a/README.md b/README.md index a6a3ded..0686ad7 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![](https://jitpack.io/v/com.gitee.zhangmengxiong/MXRecycleAdapt.svg)](https://jitpack.io/#com.gitee.zhangmengxiong/MXRecycleAdapt) ```gradle - implementation 'com.gitee.zhangmengxiong:MXRecycleAdapt:1.2.6' + implementation 'com.gitee.zhangmengxiong:MXRecycleAdapt:1.3.0' ``` #### 介绍 adapt快速开发基类 diff --git a/app/src/main/java/com/mx/recycle_adapt/activity/ScrollerViewActivity.kt b/app/src/main/java/com/mx/recycle_adapt/activity/ScrollerViewActivity.kt index dbb474b..dfc814d 100644 --- a/app/src/main/java/com/mx/recycle_adapt/activity/ScrollerViewActivity.kt +++ b/app/src/main/java/com/mx/recycle_adapt/activity/ScrollerViewActivity.kt @@ -44,6 +44,9 @@ class ScrollerViewActivity : AppCompatActivity() { scrollerView2.setSelectIndex(indx, true) } + scrollerView2.setListItemProcess { _, _, textView -> + textView.setTextColor(Color.BLUE) + } scrollerView2.setData((0 until 13000).map { it.toString() }) scrollerView2.setSelectIndex(100) } diff --git a/build.gradle b/build.gradle index 722418d..6c9c340 100644 --- a/build.gradle +++ b/build.gradle @@ -35,5 +35,5 @@ ext { minSdkVersion = 19 versionCode = 1 - versionName = "1.2.6" + versionName = "1.3.0" } \ No newline at end of file -- Gitee