Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.kikota.pos.views
- import android.content.Context
- import android.graphics.Color
- import android.util.AttributeSet
- import android.view.LayoutInflater
- import android.widget.EditText
- import android.widget.ImageView
- import androidx.core.view.isVisible
- import androidx.core.widget.addTextChangedListener
- import com.google.android.material.card.MaterialCardView
- import com.kikota.pos.R
- import com.kikota.pos.utils.dp
- import com.kikota.pos.utils.onSearch
- class SearchView3 @JvmOverloads constructor(
- context: Context, attrs: AttributeSet? = null
- ) : MaterialCardView(context, attrs) {
- private var textChangeListener: (text: String) -> Unit = {}
- private var textSubmitListener: (text: String) -> Unit = {}
- init {
- radius = 100F
- cardElevation = 4.dp.toFloat()
- setCardBackgroundColor(Color.WHITE)
- val inflater = LayoutInflater.from(context)
- inflater.inflate(R.layout.component_search_3, this, true)
- val inputSearch = findViewById<EditText>(R.id._inputSearch)
- val buttonClearSearch = findViewById<ImageView>(R.id._buttonClearSearch)
- inputSearch.addTextChangedListener {
- textChangeListener(it.toString())
- buttonClearSearch.isVisible = !it.isNullOrBlank()
- }
- inputSearch.onSearch {
- textSubmitListener(inputSearch.text.toString())
- }
- buttonClearSearch.setOnClickListener {
- inputSearch.setText("")
- }
- }
- fun setChangeListener(listener: (text: String) -> Unit) {
- textChangeListener = listener
- }
- fun setSubmitListener(listener: (text: String) -> Unit) {
- textSubmitListener = listener
- }
- }
Add Comment
Please, Sign In to add comment