2011-01-30 3 views
11

Здравствуйте, я хотел бы, чтобы настроить способ по умолчанию EditText рисуется на экране, у меня есть этот кодандроид пользовательских EditText UI

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

<item android:state_pressed="true" > 
<shape android:shape="rectangle"> 
    <solid 
     android:color="#00ff00" /> 
    <stroke 
     android:width="5dp" 
     android:color="#ff0000" 
     android:dashWidth="3dp" 
     android:dashGap="2dp" /> 
</shape> 
</item> 

<item android:state_focused="true" > 
<shape> 
    <gradient 
     android:endColor="#8dc73f" 
     android:centerColor="#d4d4d4" 
     android:startColor="#d4d4d4" 
     android:centerX="0.5" 
     android:centerY="0.5" 
     android:angle="270" /> 
    <stroke 
     android:width="1dp" 
     color="#8dc73f" /> 
    <corners 
     android:radius="6dp" /> 
    <padding 
     android:left="10dp" 
     android:top="10dp" 
     android:right="10dp" 
     android:bottom="10dp" /> 
</shape> 
</item> 
<item>   
<shape> 
    <gradient 
     android:endColor="#d4d4d4" 
     android:centerColor="#d4d4d4" 
     android:startColor="#d4d4d4" 
     android:angle="270" /> 
    <stroke 
     android:width="1dp" 
     color="#00ff00" /> 
    <corners 
     android:radius="7dp" /> 
    </shape> 
    </item> 
    </selector> 

которым работает нормально, но проблема заключается в том, что на сфокусированного состоянии я хотел бы чтобы применить эффект вокруг EditText и отметить внутри, например, применяется андроидный эффект по умолчанию, это возможно и потому, что, поскольку я не нашел решения, приведенный выше код применяет эффект только в EditText.

ответ

31

Вы можете настроить способ рисования по умолчанию EditText, создав XML-файл в папке «Drawable» и указав в коде, как вы хотите, чтобы он выглядел. Пример приведен ниже:

<selector><item android:state_pressed="true"> 
    <shape android:shape="rectangle"> 
     <gradient android:startColor="#40FFE600" 
      android:centerColor="#60FFE600" android:endColor="#90FFE600" 
      android:angle="270" android:centerX="0.5" android:centerY="0.5" /> 
     <stroke android:width="5dp" android:color="#50FF00DE" /> 
     <corners android:radius="7dp" /> 
     <padding android:left="10dp" android:top="6dp" android:right="10dp" 
      android:bottom="6dp" /> 
    </shape> 
</item> 
<item android:state_focused="true"> 
    <shape> 
     <gradient android:startColor="#40CB1759" 
      android:centerColor="#60CB1759" android:endColor="#90CB1759" 
      android:angle="270" android:centerX="0.5" android:centerY="0.5" /> 
     <stroke android:width="5dp" android:color="#50ff0000" /> 
     <corners android:radius="7dp" /> 
     <padding android:left="10dp" android:top="6dp" android:right="10dp" 
      android:bottom="6dp" /> 
    </shape> 
</item> 
<item> 
    <shape> 
     <gradient android:startColor="#402168D2" 
      android:centerColor="#602168D2" android:endColor="#902168D2" 
      android:angle="270" android:centerX="0.5" android:centerY="0.5" /> 
     <stroke android:width="5dp" android:color="#50ff0000" /> 
     <corners android:radius="7dp" /> 
     <padding android:left="10dp" android:top="6dp" android:right="10dp" 
      android:bottom="6dp" /> 
    </shape> 
</item></selector> 
6

Чтобы применить подгоняет вытяжке XML использовать андроид: фоновой атрибут объявления о EditText

Например android:background="@drawable/yourXml"