web-dev-qa-db-de.com

Die Hintergrundfarbe der EditText-Hintergrundlinie ändert sich je nach Fokus in Android

Ich muss EditText mit der unten im Bild dargestellten Grundlinie entwerfen, und es wird eine andere Farbe angezeigt, wenn der Fokus angezeigt wird.

enter image description here

ich benutze das Folgende.

 <EditText    
    Android:id="@+id/mobilenumber" 
    Android:drawableLeft="@drawable/mobile"
    Android:drawablePadding="15dp" 
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:inputType="number"
    Android:background="@drawable/edt_bg"
    Android:singleLine="true"
    Android:textColorHint="#FFFFFF"
    Android:hint="@string/mobilenumber"
    Android:layout_marginTop="20dp"
    Android:layout_gravity="center"
    Android:padding="5dp"
    Android:imeOptions="actionNext"
    Android:maxLength="10"
    Android:textColor="#ffffff"
    Android:textCursorDrawable="@null"

    />

Bitte leite mich, wie ich damit umgehen soll.

17
koti

Sie können ein Design für EditText hinzufügen

<style name="EditTextTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorControlNormal">@color/primary</item>
    <item name="colorControlActivated">@color/primary</item>
    <item name="colorControlHighlight">@color/primary</item>
</style>

Und Sie können in EditText als verwenden

<EditText
    Android:id="@+id/edtCode"
    Android:layout_width="match_parent"
    Android:layout_height="40dp"
   .......................
    Android:theme="@style/EditTextTheme">

</EditText>
48
jobi mg

verwenden Sie dies in Ihrem editText-Stil

<item name="backgroundTint">@color/focus_tint_list</item>

focus_tint_list.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
   <item Android:state_focused="true" Android:color="?attr/colorAccent"/>

   <item Android:state_focused="false" Android:color="#999999"/>

</selector>
3
Slashbin

Testen Sie den Holo-Farbgenerator für benutzerdefinierte Farben.

Android Holo-Farben

Sie können Selector erstellen und als Hintergrund der EditText festlegen.

res/drawable/edit_text.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
    <item
        Android:state_window_focused="false"
        Android:state_enabled="true"
        Android:drawable="@drawable/textfield_default" />

    <item
        Android:state_window_focused="false"
        Android:state_enabled="false"
        Android:drawable="@drawable/textfield_disabled" />

    <item
        Android:state_pressed="true"
        Android:drawable="@drawable/textfield_pressed" />

    <item
        Android:state_enabled="true"
        Android:state_focused="true"
        Android:drawable="@drawable/textfield_selected" />

    <item
        Android:state_enabled="true"
        Android:drawable="@drawable/textfield_default" />

    <item
        Android:state_focused="true"
        Android:drawable="@drawable/textfield_disabled_selected" />

    <item
        Android:drawable="@drawable/textfield_disabled" />

</selector>

Layout :

<EditText    
    Android:id="@+id/mobilenumber"
    ....
    Android:background="@drawable/edit_text" />
3
SilentKiller

Ich brauchte dasselbe und habe es auf folgende Weise gelöst:

<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
 <item Android:state_focused="true" Android:state_window_focused="true">
   <shape>
     <stroke Android:color="@color/blue_500" Android:width="2dp" />
     <corners Android:radius="45dp"/>
   </shape>
</item>
<item Android:state_focused="false" Android:state_window_focused="false">
  <shape>
    <stroke Android:color="@color/grey_600" Android:width="2dp"/>
    <corners Android:radius="45dp"/>
  </shape>
</item>
</selector>
0

Wenn Sie die Grundlinie von EditText im Fokus ändern möchten, können Sie einfach die Datei colors.xml in Ihrem Projekt aufrufen und den Wert "colorAccent" ändern.

res/values ​​/ colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
...
<color name="colorAccent">#DESIRED_COLOR</color>
</resources>`
0
Anuragraphy