android-button Pulsante personalizzato Android; cambiare il colore del testo



2 Answers

Un altro modo per farlo è nella tua classe:

import android.graphics.Color; // add to top of class  

Button btn = (Button)findViewById(R.id.btn);

// set button text colour to be blue
btn.setTextColor(Color.parseColor("blue"));

// set button text colour to be red
btn.setTextColor(Color.parseColor("#FF0000"));

// set button text color to be a color from your resources (could be strings.xml)
btn.setTextColor(getResources().getColor(R.color.yourColor));

// set button background colour to be green
btn.setBackgroundColor(Color.GREEN);
android android-button android-selector

Ho creato un pulsante che cambia lo sfondo disegnabile su diversi stati, in questo modo:

 <selector xmlns:android="http://schemas.android.com/apk/res/android">
 <item android:state_pressed="true" android:drawable="@drawable/btn_location_pressed" /> <!-- pressed -->
 <item android:state_focused="true" android:drawable="@drawable/btn_location_pressed"/> <!-- focused -->
 <item android:drawable="@drawable/btn_location"/> <!-- default -->

Il problema qui è che sto anche cercando di cambiare il textColor come faccio con il drawable ma non riesco a farlo. Ho già provato Android: textColor e Android: colore ma il primo non funziona mentre i secondi cambiano il mio background.

Il prossimo codice fa parte del mio layout. Per quanto riguarda il colore del testo, funziona solo per il normale colore del testo di stato, quindi non lo cambia in quello bianco quando viene premuto

<Button android:id="@+id/location_name"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingTop="5dp"
        android:background="@drawable/location"          
        android:textSize="15sp"
        android:textColor="@color/location_color"
        android:textColorHighlight="#FFFFFF"
   />

Qualcuno ha un indizio?




Modifica del colore del testo del pulsante

Perché questo metodo è ora deprecato

button.setTextColor(getResources().getColor(R.color.your_color));

Io uso il seguente:

button.setTextColor(ContextCompat.getColor(mContext, R.color.your_color));



Related