1

にロードする HTML がいくつかWebViewあり、css スタイルをカスタマイズする必要があります。Color リソースからリンクの色を直接設定することになると、いくつかの問題が発生しました。次の例では、使用は機能しましたが、css スタイルlinkColorManualに切り替えた場合は無視されました。linkColor

String mime = "text/html";
String encoding = "utf-8";
String linkColor = getResources().getString(R.color.Link_Colour);
String linkColorManual = "#867970";
String html = "<!DOCTYPE HTML>\n<html>\n<head>\n<style>\n"
        + "body, html { font-family: 'sans-serif'; font-size:14px; color:#8B8D90;}\n"
        + "a {color:"+linkColorManual+";}\n"
        + "</style>\n</head>\n<body>" + post.getPostData().toString() + "</body>\n</html>";
WebView myWebView = (WebView) findViewById(R.id.post_content);
myWebView.loadDataWithBaseURL(post.getPostURL().toString(), html, mime, encoding, null);

color.xmlこれは私のファイルからの関連行です:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    ...
    <color name="Link_Colour">#867970</color>
    ...
</resources>

アプリ全体でこの16進数の色をコピーして貼り付けたくありません。リソースから直接カラー文字列をロードすると、css の適用に失敗するのはなぜですか?

4

2 に答える 2

0

次のように、strings.xml に色を入れるだけです。

<string name="Link_Colour">#223344</string>

または、色にこだわりたい場合は、これを行います

int color = getResource().getColor(R.color.xyz);
String linkColor = "#" + Integer.toHexString(color)
于 2013-10-04T18:51:09.320 に答える