2013-09-02 22 views

risposta

3

Penso che tu possa cambiare Android: lo sfondo al tuo drawable desiderato per sostituire lo sfondo predefinito del tuo testo.

+0

Ho combinato la tua risposta con quella di Peregreen. Ho scaricato un file 9patch da http://android-holo-colors.com/. E impostare Android: sfondo su questo drawable. –

5

È possibile utilizzare 9patch. Questa risorsa è un esempio meraviglioso: android holo

+0

Avete un tutorial o qualcosa del genere, dove è spiegato come implementarlo? –

+0

http://developer.android.com/tools/help/draw9patch.html o Android-holo-colors possono generare file a 9patch. – Peregreen

4
int color = Color.parse("#HEX") 
editText.getBackground().setColorFilter(color, PorterDuff.Mode.SRC_ATOP); 
+0

soluzione migliore :) – umerk44

3

Per coloro che desiderano una risposta più completa. Il colore predefinito è in realtà uno sfondo a 9 patch. Quindi dovrai sostituirlo.

Vai a http://android-holo-colors.com/. Qui vedrai una categoria chiamata "colore".

Fai clic sul quadrato colorato accanto e vedrai apparire un campione di colore. Cambia il colore a quello desiderato.

Scorri verso il basso e trova un'altra categoria denominata Modifica testo. Fai clic sul pulsante Sì accanto ad esso.

Infine scorrere verso il basso fino alla fine della pagina e scaricare lo zip generato.

Decomprimere lo zip sul computer. Troverete un paio di cartelle disegnabili in base alle diverse densità di pixel. Copiali nelle cartelle appropriate nel tuo progetto.

Ci sarà anche una cartella chiamata semplicemente "disegnabile". In esso sarà un file xml. Se hai una cartella chiamata "drawable", diversa da "drawable-mdpi, drawable-hdpi, ecc", copia il file xml nella cartella "drawable", altrimenti creane uno nella cartella "res"

Infine, copia il nome del file xml. Vai a Modifica testo che desideri modificare e imposta il file xml come sfondo. Se il file XML è stato intitolato edit_text_holo_light, il codice XML si dovrebbe mettere nel vostro EditText sarebbe:

android:background="@drawable/edit_text_holo_light 

Salvare il progetto ed eseguire.

+0

Ciò causerebbe l'intero EditText (non solo la sottolineatura) per cambiare colore. –

+0

@IgorGanapolsky Non necessariamente. Lo sfondo, la sottolineatura ecc. Sono tutti impostati da quel file. In questo caso, il resto di EditText rimane lo stesso. Solo la sottolineatura è cambiata. – Visionwriter

+0

Sì, necessariamente: http://imgur.com/bEBMyID –

2

uso android:backgroundTint="" in EditText di layout xml

+1

'backgroundTint' è api 21 e versioni successive. –

+1

Sì, ma puoi sempre utilizzare le viste AppCompat come AppCompatEditText alle librerie di supporto tizio –

+0

@SoheilSetayeshi Penso che la versione di widget AppCompat sia per estenderle in implementazioni personalizzate. Ad esempio, se utilizzi "SwitchCompat", Android continuerà a utilizzare il normale widget "Cambia" per impostazione predefinita. –

Problemi correlati