Desidero modificare il testo all'interno di un pulsante per essere in grassetto quando il pulsante è evidenziato o premuto. Attualmente utilizzo un file xml per definire il pulsante e uso il codice XML per cambiare il suo aspetto quando viene premuto, ma mi piacerebbe farlo senza usare un'immagine.Android come rendere grassetto il testo del pulsante quando premuto o focalizzato
<?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>
Ho provato a utilizzare qualcosa di simile al seguente, ma non sembra mai essere chiamato.
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);}
}
});
Sei sicuro che non è sempre chiamato? magari aggiungere una chiamata logcat nel metodo onfocuschange. Immagino che possa essere chiamato più volte (cancellando il grassetto) – DEzra