2015-05-12 21 views
5

sto creando su misura modificare il testo in Android con l'aggiunta di XML in res.it disegnabile è come seguendoimplementazione personalizzato stile EditText in Android

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <!-- Border --> 
    <item> 
     <shape> 
      <solid android:color="@color/gray"></solid> 
     </shape> 
    </item> 
    <!-- Body --> 
    <item 
      android:bottom="1dp" 
      android:right="0dp" 
      android:left="0dp" 
      android:top="0dp"> 
     <shape> 
      <solid android:color="@color/white"></solid> 
     </shape> 
    </item> 
</layer-list> 


<EditText 
       android:id="@+id/edt_password" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center" 
       android:background="@drawable/edittext" 
       android:digits="1234567890" 
       android:ellipsize="end" 
       android:focusableInTouchMode="true" 
       android:inputType="numberPassword" 
       android:singleLine="true" 
       android:textColor="@color/dark" /> 

in modo che io voglio solo EditText come una singola linea. Ma quando a implementare questo, per alcuni secondi il bordo superiore del EditText è visibile e poi va via ... io non sono veramente ottenere perché questo sta accadendo ...

risposta

1

Creare res/drawable/custom_edittext_style.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_window_focused="false" android:state_enabled="true" android:drawable="@drawable/apptheme_textfield_default_holo_light" /> 
<item android:state_window_focused="false" android:state_enabled="false" android:drawable="@drawable/apptheme_textfield_disabled_holo_light" /> 
<item android:state_enabled="true" android:state_focused="true" android:drawable="@drawable/apptheme_textfield_activated_holo_light" /> 
<item android:state_enabled="true" android:state_activated="true" android:drawable="@drawable/apptheme_textfield_focused_holo_light" /> 
<item android:state_enabled="true" android:drawable="@drawable/apptheme_textfield_default_holo_light" /> 
<item android:state_focused="true" android:drawable="@drawable/apptheme_textfield_disabled_focused_holo_light" /> 
<item android:drawable="@drawable/apptheme_textfield_disabled_holo_light" /> 

E aggiungere tutti richiedono il file nella cartella drawable drawable.

<EditText 
      android:id="@+id/edt_password" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      android:background="@drawable/custom_edittext_style" 
      android:digits="1234567890" 
      android:ellipsize="end" 
      android:focusableInTouchMode="true" 
      android:inputType="numberPassword" 
      android:singleLine="true" 
      android:textColor="@color/dark" />