EditText在获取焦点后默认的边框都是黄色的,这可能和我在开发的应用的主题颜色不匹配,那怎么办呢?——用自定义的控件风格,比如说我想让EditText在获取焦点时候边框变成蓝色的,而失去焦点后边框变成灰色的,要实现这个目的方法如下:

  (一)先在PS中画两张png图片,一张为蓝色边框、白色填充的圆角矩形,另一张为灰色边框、白色填充的圆角矩形,两个矩形形状完全相同。这两种图片分别作为EditText在激活和未激活两个状态的背景图片。一张命名为et_pressed.png,另一张为et_normal.png,如下:

  (二)使用draw9patch.bat工具(该工具的使用方法见这篇文章:Android制作和使用Nine-Patch图片)将上面两个图片制作成Nine-Patch图片,并分别命名为:et_pressed.9.png和et_normal.9.png,如下:

  (三)将这两个Nine-Patch图片放到项目的res/drawable目录下,并在res/drawable目录下新建一个名为selector_edittext_bg.xml的xml文件,内容如下:

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

  (四)往res/values/styles.xml文件中添加如下内容:

 <style name="MyEtStyle" parent="@android:style/Widget.EditText">
<item name="android:background">@drawable/selector_edittext_bg</item>
</style>

  (五)在xml布局文件中只需这样设置EditText的style属性即可达到预期效果:

 <EditText
android:id="@+id/input_et"
style="@style/MyEtStyle"
...
/>

  (六)效果如下截图:

最新文章

  1. js的querySelector跟querySelectorAll
  2. MSTest、NUnit、xUnit.net 属性和断言对照表
  3. JAVA中的throws和throw的区别
  4. JAVA内部类(转)
  5. TDirectory.Move移动或更名目录
  6. 用java具体代码实现分数(即有理数)四则运算
  7. C#实现防拷贝工具示例
  8. 超棒的自定义超酷滚动条jQuery插件 - Perfect Scrollbar
  9. HTTP请求响应机制与响应状态码
  10. web.xml文件--编码注意事项
  11. javabean的特点
  12. JAVA记录-java代码优化策略
  13. 移动APP项目总结
  14. mysql存储过程----临时表 temporary
  15. 机器学习入门-使用GridSearch进行网格参数搜索GridSeach(RandomRegressor(), param_grid, cv=3)
  16. Linux setfacl/getfacl命令详解
  17. python 实现字符串的切片功能
  18. linux利器expect的使用
  19. A1048
  20. Linux学习总结(四)-两种模式修复系统,单用户,救援模式

热门文章

  1. K - Large Division 判断a是否是b的倍数。 a (-10^200 ≤ a ≤ 10^200) and b (|b| &gt; 0, b fits into a 32 bit signed integer). 思路:取余;
  2. Gold Balanced Lineup - poj 3274 (hash)
  3. 什么是Web Services?
  4. 推荐个WIN7下小巧的可转录声音的软件-Audio Record Wizard V6.99
  5. ORACL EXP导出数据说明
  6. poj 2594(可相交的最小路径覆盖)
  7. JavaScript中的对象类型详解
  8. &lt;2013 08 12&gt; Andrew:C语言的一点心得
  9. python函数的学习笔记
  10. AJAX 入门