我想要將按鈕內的文本更改爲突出顯示或按下按鈕時變爲粗體。我目前使用一個XML文件來定義按鈕,並使用XML來改變它按下時的樣子,但我想這樣做,而不使用圖像。Android如何在按下或聚焦時使按鈕文本加粗
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true"
android:state_pressed="false"
android:drawable="@drawable/reset_hover" />
<item android:state_focused="true"
android:state_pressed="true"
android:drawable="@drawable/reset_hover" />
<item android:state_focused="false"
android:state_pressed="true"
android:drawable="@drawable/reset_hover" />
<item android:drawable="@drawable/reset" />
</selector>
我試過使用類似下面的東西,但它似乎並沒有被調用。
final Button btn_reset = (Button) findViewById(R.id.btn_reset);
btn_reset.setOnClickListener(this);
btn_reset.setOn(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus){btn_reset.setTypeface(null, Typeface.BOLD);}
else{btn_reset.setTypeface(null, Typeface.NORMAL);}
}
});
你肯定是沒有得到叫什麼名字?也許可以在onfocuschange方法中添加一個logcat調用。 我猜測它可能被調用很多次(取消粗體) – DEzra 2010-05-09 16:31:18