2013-04-22 3 views
1

Привет, Я использовал этот код:Чтобы изменить цвет для каждой строки в андроида

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

& я могу использовать пользовательский шрифт, таким образом? –

+1

Несомненно, что-то вроде лица = \ "Грузия \" должно сделать трюк. Проверьте [эту информацию] (http://www.w3schools.com/tags/tag_font.asp) для получения дополнительной информации о теге font, некоторые другие теги html также работают, хотя .. Happy coding =) –

Смежные вопросы