我想要将按钮内的文本更改为突出显示或按下按钮时变为粗体。我目前使用一个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