如何设置Android首选项摘要文本颜色?

Sea*_*ean 21 android text summary colors preference

在我的首选项屏幕上,我有一个偏好,点击时打开一个颜色选择器对话框.我想要做的是当用户选择一种颜色时,首选项的文本摘要以该颜色显示.

我知道我可以像这样设置摘要,Currently <font color="#ff0000">this color</font>并以它显示颜色.问题是我得到的颜色是android int颜色.

我可以使用red(),green(),blue()方法,然后将它们转换为Hex,然后将它们组合成一个字符串,这样我就可以使用新值设置摘要文本并且这样做:String colorString = String.format("#%02x%02x%02x",Color.red( defaultColor ), Color.green( defaultColor ), Color.blue( defaultColor ));我只是很好奇,如果有的话这是一种更简单的方法.

提前谢谢.

肖恩

Sea*_*ean 33

好吧我最终做的是使用Spannable.这将颜色作为整数.

Spannable summary = new SpannableString("Currently This Color");
summary.setSpan(new ForegroundColorSpan(color), 0, summary.length(), 0);
preference.setSummary(summary);
Run Code Online (Sandbox Code Playgroud)


mal*_*cie 5

使用 Html.fromHtml 设置文本样式。

mPodFolderPref.setTitle(Html.fromHtml("<font color='red'>" +  mPodFolderPref.getTitle() + "</font>"));
mPodFolderPref.setSummary(Html.fromHtml("<font color='red'>" +  mPodFolderPref.getSummary() + "</font>"));
Run Code Online (Sandbox Code Playgroud)

Html.fromHtml 可以为你做很多事情。