欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

android studio 自定义edittext光标下划线颜色

程序员文章站 2022-05-30 23:42:06
...

原本效果:
android studio 自定义edittext光标下划线颜色

更改后:
光标为f00红色,edittext选中时下划线为999灰色,未被选中时为f40淘宝红,且添加了左内边框。
android studio 自定义edittext光标下划线颜色

修改流程如下:
首先在res>drawable下创建光标的样式文件。
代码如下:
<?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="#f00" />
</shape>

然后是下划线的颜色样式,在res>values>styles.xml添加自己样式块“MyEditText”;
代码如下:

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>


    <style name="MyEditText" parent="Theme.AppCompat.Light">
        <!--未被选中时下划线的颜色-->
        <item name="colorControlNormal">#f40</item>
        <!--输入框的左内边框-->
        <item name="android:paddingLeft">90px</item>
        <!--文本的颜色-->
        <item name="android:textColor">#000</item>
        <!--被选中时下划线的颜色-->
        <item name="colorControlActivated">#999</item>
    </style>

</resources>

最后在activity中添加edittext,并在对应的layout xml文件添加样式:
代码如下:
android:textCursorDrawable=”@drawable/textcursorcolor”
android:theme=”@style/MyEditText”

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <EditText
        android:id="@+id/editText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="218dp"
        android:ems="10"
        android:inputType="textPersonName"
        android:text="Name"
        android:textCursorDrawable="@drawable/textcursorcolor"
        android:theme="@style/MyEditText"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <EditText
        android:id="@+id/editText2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:ems="10"
        android:inputType="textPersonName"
        android:text="Name"
        android:textCursorDrawable="@drawable/textcursorcolor"
        android:theme="@style/MyEditText"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/editText" />
</android.support.constraint.ConstraintLayout>

android studio 自定义edittext光标下划线颜色

至此已完成对edittext光标和下划线颜色的改变,另外如果想单纯的去除下滑线的话只需将背景设置为空即可:
android:background=”@null”

源码地址:https://download.csdn.net/download/qq_39143010/10671971

相关标签: android edittext