1 package com.airbnb.lottie.samples 2 3 import android.content.Context 4 import androidx.annotation.DrawableRes 5 import android.util.AttributeSet 6 import android.view.View 7 import android.widget.LinearLayout 8 import com.airbnb.epoxy.CallbackProp 9 import com.airbnb.epoxy.ModelProp 10 import com.airbnb.epoxy.ModelView 11 import com.airbnb.epoxy.TextProp 12 import kotlinx.android.synthetic.main.list_item_preview.view.* 13 14 @ModelView(autoLayout = ModelView.Size.MATCH_WIDTH_WRAP_HEIGHT) 15 class PreviewItemView @JvmOverloads constructor( 16 context: Context, 17 attrs: AttributeSet? = null, 18 defStyleAttr: Int = 0 19 ) : LinearLayout(context, attrs, defStyleAttr) { 20 21 init { 22 orientation = VERTICAL 23 inflate(R.layout.list_item_preview) 24 } 25 26 @TextProp setTitlenull27 fun setTitle(title: CharSequence) { 28 titleView.text = title 29 } 30 31 @ModelProp setIconnull32 fun setIcon(@DrawableRes icon: Int) { 33 iconView.setImageResource(icon) 34 } 35 36 @CallbackProp setClickListenernull37 fun setClickListener(clickListener: View.OnClickListener?) { 38 container.setOnClickListener(clickListener) 39 } 40 }