有没有办法将Button文本设置为第一个字符的大写字母,所有文本都是cap?
布局:
<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);
}
});
answers [numbers.get(0)]是我从数组列表中获得的文本。
我尝试过q1.setAllCaps(true);但它对我不起作用。
感谢。
答案 0 :(得分:2)
您可以使用:WordUtils
方法:
大写(String str):
将字符串中所有以空格分隔的单词大写。
或: capitalizeFully(String str)
将String中所有空格分隔的单词转换为大写单词,即每个单词由一个标题字符组成,然后是一系列小写字符。
答案 1 :(得分: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);
}
});