android edittext 边框 源码实现

android经典edittext选中样式是,黄色,不选中是灰色。下面附上android经典实现的配置,以便于用户根据自己的需要进行修改.

//文件位置位于,android-sdk/platforms/android-13/data/res/drawable/editbox_background.xml

editbox_background.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:drawable="@drawable/editbox_background_focus_yellow" />
    <item android:drawable="@drawable/editbox_background_normal" />
</selector>

editbox_background_focus_yellow,editbox_background_normal这两个
是有个9patch的图片文件.可以在res\drawable-mdpi,drawable-hdpi等文件夹中找到.

如果不想定义图片,可以用如下方法解决。
定义一个style,在文件中引用search_edittext_style
<style name="search_edittext_style" parent="@android:style/Widget.EditText">
<item name="android:background">@drawable/search_edittext</item>
</style>

style的background文件如下:search_edittext

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >   
    <item android:state_focused="true" >
        <shape>
            <solid android:color="@android:color/white" />
            <stroke android:width="2dip" android:color="#FE7800"/>           
            <corners android:radius="5dip"/>
        </shape>
    </item>
<item android:state_focused="false">
    <shape>
        <solid android:color="@android:color/white" />        
        <stroke android:width="2dip" android:color="#0B82D3"/>
        <corners android:radius="5dip"/>
    </shape>        
</item>   
</selector>

猜你喜欢

转载自staroflife.iteye.com/blog/1748863