我想知道如何将
Android中的EditText视图的边框颜色更改为其他…
这是我的edittext视图:
- <EditText
- android:
- android:id="@+id/codeEditText"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
- android:layout_below="@+id/btnEqual"
- android:layout_marginTop="20dp"
- android:ems="10"
- android:gravity="top|left"
- android:inputType="textMultiLine|textNoSuggestions"
- android:scrollbars="vertical"
- android:singleLine="false" >
Thanx前期.
解决方法
您必须创建/修改自己的NinePatch图像来替换默认图像,并将其用作EditText的背景.如果您看到SDK文件夹,在您的平台下,然后res / drawable,您应该找到EditText焦点状态的NinePatch图像.如果这是所有你想要改变,你可以把它拉入Photoshop,或者你最喜欢的任何图像编辑软件,并将橙色变为你选择的颜色.然后将其保存到可绘制的文件夹中,并构建一个新的
StateListDrawable,例如如下所示:
- <?xml version="1.0" encoding="utf-8"?>
- <selector
- xmlns:android="http://schemas.android.com/apk/res/android"
- >
- <item
- android:state_pressed="true"
- android:drawable="@android:drawable/edittext_pressed"
- /> <!-- pressed -->
- <item
- android:state_focused="true"
- android:drawable="@drawable/edittext_focused_blue"
- /> <!-- focused -->
- <item
- android:drawable="@android:drawable/edittext_normal"
- /> <!-- default -->
- </selector>
我不知道EditText的默认NinePatches的实际名称,因此需要更换这些,但这里的关键是仅使用@android:可绘制的图像,您尚未修改的图像(或者您可以复制他们到您的项目的可绘制的文件夹),然后使用您的修改的drawable为您的聚焦状态.
然后,您可以将此StateListDrawable设置为TextView的背景,如下所示:
- <TextView
- android:background="@drawable/edittext_modified_states"
在某些操作系统版本上,您可能还需要将普通的未修改的状态图像复制到应用程序可绘制的文件夹中以获得此工作.因此,在应用程序的可绘制文件夹中,您还有修改后的焦点状态图片,以及未修改的原始其他状态图片.