2013-06-20 2 views
0

Есть ли способ установить текст кнопки на заглавную букву для первого символа и весь текст?Как установить текст кнопки в заглавную букву

Планировка:

<Button 
    android:id="@+id/q1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="13sp" 
    android:textColor="#ffffff" 
    android:background="@drawable/ic_btn_q_normal" /> 

активность:

final Button q1 = (Button) findViewById(R.id.q1); 
q1.setText(answers[numbers.get(0)]); 
    q1.setOnClickListener(new OnClickListener() { 
     public void onClick(View v){ 

     q1.setBackgroundResource(R.drawable.ic_btn_q_right); 

    } 
}); 

ответы [numbers.get (0)] является текст, который я получаю из списка массива.

Я пробовал с q1.setAllCaps (true); но это не работает для меня.

Спасибо.

+0

программно или с макетом? – Blackbelt

+0

Уважаемый blackbelt, с программным обеспечением. Спасибо вам. – user1731690

+0

как насчет String.toUpperCase()? – Rob013

ответ

1
final Button q1 = (Button) findViewById(R.id.q1); 
String label = answers[numbers.get(0)]; 
StringBuilder sb = new StringBuilder(); 
sb.append(label .substring(0,1)); 
sb.append(label .substring(1).toLowerCase()); 
label = sb.toString(); 

q1.setText(label); 
    q1.setOnClickListener(new OnClickListener() { 
     public void onClick(View v){ 

     q1.setBackgroundResource(R.drawable.ic_btn_q_right); 

    } 
}); 

код для преобразования строки взяты из: What is the simplest way to convert a Java string from all caps (words separated by underscores) to CamelCase (no word separators)?

2

Вы можете использовать: WordUtils

метод:

капитализировать (String ул):

заглавным все пробел разделен w ords в String.

или: capitalizeFully (String ул)

Преобразует все пробела разделенные слов в строке в капитализированные слова, что каждое слово состоит из символа titlecase и затем ряд строчные буквы.

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