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"
