2014-11-26 13 views
11

Posso modificare il colore della linea su EditText. Quando è attivo ha un colore verdastro. ImageCambia colore riga di EditText - Android

È possibile modificare solo il colore della linea quando è attivo e come posso farlo ...?

+0

è possibile, è incorporato nell'immagine di sfondo della vista. – njzk2

+0

Come posso cambiarlo ...? – KiKo

+4

Puoi usare questo sito http://android-holo-colors.com/ per creare un tema personalizzato per il tuo EditText o altro componente Android – Rami

risposta

10

È necessario impostare la sorgente di sfondo per un testo di modifica.

  1. generarlo http://android-holo-colors.com/
  2. di quanto si può applicare drawable generato come sfondo come android:background="@drawable/my_theme_edit_text" per il costume EditText. In alternativa è possibile impostare tale contesto nella tua app tema - si trovano ad esempio in file .zip da quel sito
+1

Questo funziona, ma rende la mia riga EditText con angoli su entrambi i lati. – KiKo

+0

Forse dovresti modificare i file .png per rimuovere gli angoli. O semplicemente li sostituisci con i tuoi? –

+0

Proverò qualcosa .... Grazie :) – KiKo

7

aggiungere al vostro themes.xml questa linea:

<item name="colorAccent">@color/black</item> 

questo imposta il default colore per colorControlActivated che viene utilizzato per i widget tinta

7

Ecco a voi:

editText.getBackground().setColorFilter(getResources().getColor(R.color.white), PorterDuff.Mode.SRC_ATOP); 
3
<EditText 
      android:id="@+id/editText1" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:gravity="center_vertical" 
      android:background="@drawable/text" 
      android:ems="10" 
      android:textColorHint="#fefefe" 
      android:hint="@string/text1" 
      android:textColor="#fefefe" 
      android:inputType="textEmailAddress" 
      android:layout_marginTop="10dp" 
/> 

utilizzare il codice qui sotto nella tua res/drawable/text.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:top="24.0dp"> 
    <shape > 
     <solid android:color="#fefefe" /> 
    </shape> 
    </item> 
</layer-list> 
8

È possibile impostare lo sfondo di EditText a un rettangolo con imbottitura meno a sinistra, a destra e in alto per raggiungere questo obiettivo.

Ecco l'esempio xml per l'impostazione di diversi colori di linea per edittext focalizzato e non focalizzato, basta impostarlo come sfondo di edittext.

<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:top="-2dp" 
     android:left="-2dp" 
     android:right="-2dp" 
     android:bottom="2dp"> 
     <selector > 
      <item android:state_enabled="true" 
       android:state_focused="true"> 
       <shape 
        android:shape="rectangle"> 
        <stroke 
         android:width="2dp" 
         android:color="#6A9A3A"/> 
       </shape> 
      </item> 
      <item android:state_enabled="true"> 
       <shape 
        android:shape="rectangle"> 
        <stroke 
         android:width="1dp" 
         android:color="#000000"/> 
       </shape> 
      </item> 
     </selector> 
    </item> 
</layer-list> 
4

è possibile impostare Android: backgroundTint = "@ colore/blu" per cambiare il colore della linea di fondo EditText

0

È possibile utilizzare la android:background = "@color/black" for the api 21 o superiore 21 (Questo vale per il dispositivo di lecca-lecca o superiore versioni) e per le versioni successive dovresti usare lo stile per l'edittext.

0

Ho avuto lo stesso problema risolto cambiando il colore del backgroundTint come segue -

android: backgroundTint = "@ colore/LIGHT_COLOR"

0

Se la vostra utilizzando TextInputLayouts per EditText, dovremmo cambiare le seguenti proprietà.

<item name="colorControlNormal">#c5c5c5</item> 
<item name="colorControlActivated">@color/your color</item> 
<item name="colorControlHighlight">@color/your color</item> 

Per impostazione predefinita, il colore è colorAccent.

Problemi correlati