0

色関数を作るためにあなたの助けが必要です。このようなものを作成したいと思います

私はedittextstring の色の部分を入れたいと思っていますが、特別な入力例があります:

if the user type : ^1Hi ^2Stack^3Over^4Flow !
"Hi" = red color , "Stack" = green color , "Over" = blue color and "Flow" = orange color.

これを行う方法?

4

4 に答える 4

1

以下を試すことができます:

String styledText = "This is <font color='red'>Hi</font>"+" "+"<font color='green'>Stack</font>"+" "+"<font color='blue'>Over</font>"+" "+"<font color='orange'>Flow</font>";

textview.setText(Html.fromHtml(styledText));
于 2013-08-27T13:28:58.950 に答える
0

区切り文字「^」を使用して StringTokenizer クラスを使用し、各単語から最初の文字を取得する必要があります。この数値は、たとえば List などのカラー配列のインデックスにすることができます

編集: このように stringTokenizer を作成します

StringTokenizer sT = new StringTokenizer(yourString, "^");

while(sT.hasMoreTokens()) {
String myColorString = sT.nextToken();
int color = myColorString.charAt(0);
String text = myColorString.substring(1, myColorString.length-1);
}

次に、色変数ごとに色を取得し、文字列テキストに色を付けることができます:)。

2文字以上の数字がある場合は正規表現を使用できますが、色を付けたい文字列の先頭に数字を付けたい場合に問題が発生します:);

1;myString^2;myString2^3;myString3 のようにすると良いと思います。

また、数値ごとに文字列トークナイザーを使用できます; myString も。

于 2013-08-27T13:22:08.017 に答える
-2

文字列全体を受け取り、それを個別の単語 (空白で区切る) に切り取り、すべての単語にカウンター ++ で色を付ける関数を作成します。

于 2013-08-27T13:16:44.430 に答える