2013-06-20 86 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

親愛的黑帶,以編程方式。謝謝。 – 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

方法:

利用(字符串str)

大寫所有空格分隔w字符串中的ords。

或:capitalizeFully(字符串str)

轉換所有的空格分隔單詞串轉化成大寫話說,就是每個字是由一個標題字符,然後一系列的小寫字符。

相關問題