web-dev-qa-db-fra.com

Conception personnalisée EditText

J'ai personnalisé conçu EditText 

enter image description here

search_page.xml

<LinearLayout
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:orientation="horizontal"
    Android:padding="10dp"
    Android:background="#E1E1E1"
    Android:weightSum="1" >

    <TextView
        Android:layout_width="0dp"
        Android:layout_height="wrap_content"
        Android:layout_weight=".25"
        Android:text="City" />

    <EditText
        Android:layout_width="0dp"
        Android:layout_height="wrap_content"
        Android:layout_marginLeft="10dp"
        Android:background="@drawable/rounded_edittext"
        Android:layout_weight=".75" />
</LinearLayout>

rounded_edittext.xml

<?xml version="1.0" encoding="utf-8"?>
<!-- res/drawable/rounded_edittext.xml -->
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:padding="10dp"
    Android:shape="rectangle" >

    <solid Android:color="#FFFFFF" />

    <corners
        Android:bottomLeftRadius="10dp"
        Android:bottomRightRadius="10dp"
        Android:topLeftRadius="10dp"
        Android:topRightRadius="10dp" />

</shape>

Je souhaite utiliser le code de couleur#2f6699pour obtenir une couleur de bordure comme un contour dans la zone de texte EditText comme ci-dessous:

enter image description here

Des idées sur la façon de réaliser cela?  

38
Devrath

Utilisez le code ci-dessous dans votre rounded_edittext.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android" >

    <solid Android:color="#FFFFFF" />

    <stroke
        Android:width="1dp"
        Android:color="#2f6699" />
    <corners 
        Android:radius="10dp"            
        />

</shape>

Cela devrait marcher

56
Manishika

enter image description here

Pour EditText dans l'image ci-dessus, vous devez créer deux fichiers xml dans le dossier res -> drawable . D'abord, il s'agira de " bg_edittext_focused.xml ", dans lequel vous insérez les lignes de code. 

<?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:Android="http://schemas.Android.com/apk/res/Android" >
        <solid Android:color="#FFFFFF" />
        <stroke
            Android:width="2dip"
            Android:color="#F6F6F6" />
        <corners Android:radius="2dip" />
        <padding
            Android:bottom="7dip"
            Android:left="7dip"
            Android:right="7dip"
            Android:top="7dip" />
    </shape>

Le second fichier sera " bg_edittext_normal.xml " coller les lignes de code qu'il contient 

<?xml version="1.0" encoding="utf-8"?>
    <shape xmlns:Android="http://schemas.Android.com/apk/res/Android" >
        <solid Android:color="#F6F6F6" />
        <stroke
            Android:width="2dip"
            Android:color="#F6F6F6" />
        <corners Android:radius="2dip" />
        <padding
            Android:bottom="7dip"
            Android:left="7dip"
            Android:right="7dip"
            Android:top="7dip" />
    </shape>

Dans res -> drawable folder, créez un autre fichier xml avec le nom " bg_edittext.xml " qui appellera le code mentionné ci-dessus. collez les lignes de code suivantes ci-dessous dans bg_edittext.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:Android="http://schemas.Android.com/apk/res/Android">
    <item Android:drawable="@drawable/bg_edittext_focused" Android:state_focused="true"/>
    <item Android:drawable="@drawable/bg_edittext_normal"/>
</selector>

Enfin, dans le fichier res -> layout -> example.xml de votre cas, où que vous ayez créé votre editText , Vous appellerez bg_edittext.xml en arrière-plan.

   <EditText
    :::::
    :::::  
    Android:background="@drawable/bg_edittext"
    :::::
    :::::
    />
20
Faakhir

Utilisez le code ci-dessous dans votre rounded_edittext.xml:

<?xml version="1.0" encoding="utf-8" ?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
       Android:thickness="0dp"
       Android:shape="rectangle">

    <stroke Android:width="2dp"
            Android:color="#2F6699"/>

    <corners Android:radius="3dp" />

    <gradient   Android:startColor="#C8C8C8"
                Android:endColor="#FFFFFF"
                Android:type="linear"
                Android:angle="270"/>
</shape>

 Result

1
B.HoucinE

Utilisez un 9-patch drawable ou créez une Shape drawable.

0
Chris Feist
Android:background="#E1E1E1" 
// background add in layout
<EditText
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:background="#ffffff">
</EditText>
0
Ankit vadariya

edit_text.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android">
    <solid Android:color="#ffffff" />
    <corners Android:radius="5dp"/>
    <stroke Android:width="2dip" Android:color="@color/button_color_submit" />
</shape>

utiliser ici

<EditText
 -----
 ------
 Android:background="@drawable/edit_text.xml"
/>
0
Nilesh Panchal