common class for binding adapters
package com.market_place.toolBarUtil
import android.annotation.SuppressLint
import android.text.TextWatcher
import android.util.Log
import android.widget.*
import androidx.appcompat.widget.SearchView
import androidx.appcompat.widget.SwitchCompat
import androidx.cardview.widget.CardView
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.content.ContextCompat
import androidx.databinding.BindingAdapter
import androidx.databinding.ObservableBoolean
import com.google.android.material.textfield.TextInputEditText
import com.market_place.car_products.R
import java.util.*
object BindingAdapters {
@BindingAdapter(value = ["switchListener"], requireAll = false )
@JvmStatic
fun switchListener(switch: SwitchCompat, listener: CompoundButton.OnCheckedChangeListener) {
switch.setOnCheckedChangeListener(listener)
}
@BindingAdapter(value = ["setEditWatcher"], requireAll = false)
@JvmStatic
fun setEditWatcher(editText: EditText, textWatcher: TextWatcher) {
editText.addTextChangedListener(textWatcher)
}
@BindingAdapter(value = ["setBackgroundColorEdit"], requireAll = false)
@JvmStatic
fun setBackgroundColorEdit(editText: EditText, value: ObservableBoolean) {
if (value.get()) {
editText.setTextColor(ContextCompat.getColor(editText.context, R.color.brightRed))
} else {
editText.setTextColor(ContextCompat.getColor(editText.context, R.color.black))
}
}
@BindingAdapter(value = ["setSearch"], requireAll = false)
@JvmStatic
fun setSearch(searchView: SearchView, onQueryTextListener: SearchView.OnQueryTextListener) {
searchView.setOnQueryTextListener(onQueryTextListener)
}
@BindingAdapter(value = ["setTextWatcher"], requireAll = false)
@JvmStatic
fun setTextWatcher(textInputEditText: TextInputEditText, textWatcher: TextWatcher) {
textInputEditText.addTextChangedListener(textWatcher)
}
@BindingAdapter(value = ["setBackgroundLinear"], requireAll = false)
@JvmStatic
fun setBackgroundLinear(linearLayout: LinearLayout, value: Boolean) {
Log.e("checkBackgroundLinear==","${value}")
if (value) {
linearLayout.setBackgroundResource(R.drawable.transaction_purple)
} else {
linearLayout.setBackgroundResource(R.drawable.white_circle_background)
}
}
@SuppressLint("ResourceAsColor")
@BindingAdapter(value = ["setBackgroundRelative"], requireAll = false)
@JvmStatic
fun setBackgroundRelative(cardView: CardView,value:String) {
Log.e("CheckColor==",value)
if (value.equals("blue"))
{
Log.e("Redd","redd")
cardView.setBackgroundResource(R.drawable.gradient)
}
if (value.equals("grey")){
Log.e("greeyy","greyy")
cardView.setBackgroundResource(R.drawable.gradeint1)
}
if (value.equals("purple")){
Log.e("purple","purplee")
cardView.setBackgroundResource(R.drawable.gradient2)
}
}
@BindingAdapter(value = ["setBackgroundConstraint"], requireAll = false)
@JvmStatic
fun setBackgroundConstraint(constraintLayout: ConstraintLayout, value: Boolean) {
Log.e("checkBackgroundLinear==","${value}")
if (value) {
constraintLayout.setBackgroundResource(R.drawable.transaction_purple)
} else {
constraintLayout.setBackgroundResource(R.drawable.white_circle_background)
}
}
@SuppressLint("ResourceAsColor")
@BindingAdapter(value = ["setBackgroundCardView"],requireAll = false)
@JvmStatic
fun setBackgroundCardView(cardView: CardView,value: Boolean){
if (value){
cardView.setBackgroundResource(R.drawable.transaction_purple)
}
else{
cardView.setBackgroundResource(R.drawable.white_circle_background)
}
}
@BindingAdapter(value = ["setBackgroundImage"], requireAll = false)
@JvmStatic
fun setBackgroundImage(imageView: ImageView, value: Boolean) {
if (!value) {
imageView.setColorFilter(ContextCompat.getColor(imageView.context,R.color.purple_500), android.graphics.PorterDuff.Mode.MULTIPLY);
} else {
imageView.setColorFilter(ContextCompat.getColor(imageView.context,R.color.white), android.graphics.PorterDuff.Mode.MULTIPLY);
}
}
@BindingAdapter(value = ["setBackgroundText"], requireAll = false)
@JvmStatic
fun setBackgroundText(textView: TextView, value: Boolean) {
if (!value) {
textView.setTextColor(ContextCompat.getColor(textView.context,R.color.purple_500))
} else {
textView.setTextColor(ContextCompat.getColor(textView.context,R.color.white))
}
}
@BindingAdapter(value = ["setDateChangeListener"], requireAll = false)
@JvmStatic
fun setDateChangeListener(calendarView: CalendarView,onDateChangeListener: CalendarView.OnDateChangeListener)
{
calendarView.setOnDateChangeListener(onDateChangeListener)
calendarView.minDate = Date().time
}
}
Comments
Post a Comment