Android:EditText 自定义样式
Android 中 EditText 自带的样式比较单调,有时需要使用自定义的样式。
一、使用自定义背景
1.自定义EditText 圆角矩形背景
自定义圆角矩形custom_edittext_background.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!-- 圆角-->
<corners android:radius="5dp" />
<!--描边-->
<stroke
android:width="1dp"
android:color="@android:color/holo_blue_light" />
</shape>
2.EditText 引用自定义背景
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:background="@drawable/custom_edittext_background"
android:gravity="center"
android:hint="自定义EditText"
android:padding="8dp"
android:textSize="16sp" />
二、修改光标颜色
在drawable中新建一个xml,内容如下
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<size android:width="2dp" />
<solid android:color="@color/main_blue" />
<!--<corners android:radius="3dip"/>-->
<stroke
android:width="1dip"
android:color="@color/main_blue" />
</shape>
使用edittext的时候增加如下属性设置
android:textCursorDrawable="@drawable/edit_custom_style"
原理就是,android支持自定义样式设置,我们自建了样式,设置textCursorDrawable,为我们的样式就好了。
三、设置底边颜色
在styles.xml中新建一个样式
<style name="MyEditText" parent="Theme.AppCompat.Light">
<item name="colorControlNormal">@color/main_gray</item>
<item name="colorControlActivated">@color/main_blue</item>
</style>
然后在edittext中设置主题
android:theme="@style/MyEditText"