On my preference screen I have a preference that when clicked opens a color picker dialog. What I would like to do is when the user selects a color, that the text summary of the preference is displayed in that color.
I know I can have the summary set up like this, Currently <font color="#ff0000">this color</font>
and have it display in that color. The problem is the color I am getting back is the android int color.
I could use the red(), green(), blue() methods and then convert those to Hex and then combine them into a string so I could set the summary text with the new value and that works: String colorString = String.format("#%02x%02x%02x",Color.red( defaultColor ), Color.green( defaultColor ), Color.blue( defaultColor ));
I was just curious if there is an easier way to do this.
Thanks ahead of time.
Sean
Open your device's Settings app . Text and display. Select Color correction. Turn on Use color correction.
In XML, we can set a text color by the textColor attribute, like android:textColor="#FF0000" .
OK what I ended up doing was using a Spannable. This takes the color as an integer.
Spannable summary = new SpannableString("Currently This Color"); summary.setSpan(new ForegroundColorSpan(color), 0, summary.length(), 0); preference.setSummary(summary);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With