Background colour is coming from API in this form FFF9E6.I am using data binding.I am not able to understand how I can set it as background colour. I believe binding adapter would work but not sure how to write it. How can I write binding adapter for the same?
2 Answers
I ran into this same problem a few months back. what I did was stored the data coming from API to one POJO class. Then in an XML file using that POJO class member as data binding variable. i.e.
<TextView android:layout_width="0dp" android:layout_height="60dp" android:layout_margin="@dimen/_8dp" android:layout_weight="1" android:gravity="center" android:padding="@dimen/_8dp" app:color="@{item.color}" /> and it's binding adapter
@BindingAdapter("bind:color") public static void setStatus(TextView textView, String color) { } 7 Comments
krai29
I am storing the data in POJO class. The background colour is coming in hex code without the "#". I tried the following:
krai29
app:background = "@{'#'+var.color}" . This didn't work
Ariles
Does it work with a custom getter, e.g: getFullColor() which returns the color code including the hashtag ? Sorry, I'm not yet familiar with databinding.
Urvish rana
@humbleDev read the last line of XML file its custom binding. Use custom binding it'll work and you got color in a simple string from right?.there is no direct API for setting background color dynamically passing the hex code. you need to use setBackgroungResource() for that
Urvish rana
follow this quetion for that stackoverflow.com/q/1466788/7271231
|