1

Stringcolor.xmlでユーザー定義の色を使用した結果が結果として得られない理由を教えてくれる人はいますか?Spanable以下の期待される結果はサンプルコードです

    sorry_Span=new SpannableString("Sorry, you dont have any registered device, what you want to do ?");
    sorry_Span.setSpan(new ForegroundColorSpan(Color.BLUE), 36, 42, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    //sorry_Span.setSpan(new ForegroundColorSpan(R.color.blue_txt), 36, 42, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    sorry_Msg.setText(sorry_Span);

一緒に実行するColor.Blueと問題なく実行されますが、R.color.blue_txtそれを使用して実行すると、そのテキストが空白になります。よろしくお願いします。

4

3 に答える 3

12

だから私はこの希望を使って自分で答えを見つけましたこれはカスタムカラーを使いたい人を助けることができます

    sorry_Span=new SpannableString("Sorry, you dont have any registered device, what you want to do ?");
    sorry_Span.setSpan(new ForegroundColorSpan(Color.BLUE), 36, 42, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    //sorry_Span.setSpan(new ForegroundColorSpan(R.color.blue_txt), 36, 42, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    sorry_Msg.setText(sorry_Span);

カスタムカラーは次のメソッドで処理できます

Color.rgb(int red,int green,int blue)

これを使用して、次のように独自のカスタムカラーを作成します

    sorry_Span=new SpannableString("Sorry, you dont have any registered device, what you want to do ?");

   // sorry_Span.setSpan(new ForegroundColorSpan(Color.rgb(34,141,65), 36, 42, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
sorry_Span.setSpan(new ForegroundColorSpan(getResource().getColor(R.color.mycolor), 36, 42, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    sorry_Msg.setText(sorry_Span);
于 2013-01-18T13:38:49.310 に答える
5

カラー XML は次のようになります。

<?xml version="1.0" encoding="utf-8"?>


<resources>
    <color name="blue_color">#ff0000FF</color>    
</resources>

編集:これに変更:

sorry_Span.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.blue_txt)), 36, 42, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
于 2013-01-18T13:06:19.170 に答える