2013-04-22 19 views
1

嗨, 我用这个代码:要改变每行的颜色在android系统

String displayText = ""; 
    try { 
     InputStream fileStream = getResources().openRawResource(
          R.raw.t); 
     int fileLen = fileStream.available(); 
     // Read the entire resource into a local byte buffer. 
     byte[] fileBuffer = new byte[fileLen]; 
     fileStream.read(fileBuffer); 
     fileStream.close(); 
     displayText = new String(fileBuffer); 
     } catch (IOException e) { 
      // exception handling 
     } 

    TextView tv=(TextView) findViewById(R.id.textView1); 
    tv.setText(displayText); 


} 

这是用于显示文本文件。 我想改变每一行的颜色(并改变行间的一条线的颜色) 我该怎么办?

我为不好讲英语

回答

2

我建议你使用HTML来设置颜色在你的TextView遗憾。这2种颜色之间交换一个小例子:

String textcontent = ""; 
String[] lines; 
//something like "lines = displayText.split("\n")" or however you stored line returns 
for (int i = 0; i < lines.length; i++) { 
    //odd line numbers are red, the even ones green 
    textcontent += "<font color=\"" + (i%2==0?"red":"green") + "\">" + lines[i] + "</font><br/>"; 
} 
TextView tv=(TextView) findViewById(R.id.textView1); 
tv.setText(Html.fromHtml(textcontent)); 

我希望这有助于,否则随时索要更多...

+0

&我可以使用自定义字体,这种方式? – 2013-04-22 13:06:43

+1

当然,像面子= \“格鲁吉亚\”应该做的伎俩。查看[这个信息](http://www.w3schools.com/tags/tag_font.asp)了解更多关于font-tag的信息,其他一些html标签也可以工作.. Happy coding =) – 2013-04-22 13:21:48