0
Snackbarテキストの複数のHTMLフォアグラウンド書式をプログラムで追加しようとしています。私のstrings.xmlでSnackbarでの複数のHTML書式設定
:
私はそれらをフォーマットしようどう<string name="html_test">The html entries %1$s and %2$s are looking different.</string>
:
私は関数を呼び出す方法public static Spanned getString(Context p_Context, int p_iResID, int p_iColor, String... p_Items) {
int l_iColor = ContextCompat.getColor(p_Context, p_iColor);
String l_HexColor = Integer.toHexString(l_iColor);
String l_Before = "<font color=" + l_HexColor + ">";
String l_After = "</font>";
Object[] l_Items = new String[p_Items.length];
for(int i = 0; i < p_Items.length; i++) {
l_Items[i] = l_Before + p_Items[i] + l_After;
}
return Html.fromHtml(p_Context.getString(p_iResID, l_Items));
}
:
getString(getContext(), R.string.html_test, R.color.blue, "Test1", "Test2");
その後、私はスナックバーを作成し、 HTML形式のテキストを渡します。
Snackbar l_SnackBar = Snackbar.make(p_Root, p_Text, p_iSnackBarLenght);
l_SnackBar.getView().setBackgroundColor(p_iBGColor);
return l_SnackBar;
問題は、私はgetString()
に渡された2つのエントリのないHTMLフォーマットがないことです。
![CDATA...
私はフォーマットにいくつかの問題があることを読んでいるので、私は![CDATA...
を使いたくありません。