android studio 自定义edittext光标下划线颜色
程序员文章站
2022-05-30 23:42:06
...
原本效果:
更改后:
光标为f00红色,edittext选中时下划线为999灰色,未被选中时为f40淘宝红,且添加了左内边框。
修改流程如下:
首先在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>
至此已完成对edittext光标和下划线颜色的改变,另外如果想单纯的去除下滑线的话只需将背景设置为空即可:
android:background=”@null”
源码地址:https://download.csdn.net/download/qq_39143010/10671971
下一篇: vs2019不使用安全函数
推荐阅读
-
Android更改EditText下划线的颜色样式和动态获取输入的字数的代码教程
-
Android Studio怎么自定义代码注释的颜色?
-
Android开发之自定义EditText实现保留两位小数(附EditText光标宽度、颜色、高度的设置)
-
Android自定义EditText的光标颜色
-
android studio并列层,显示和隐藏按钮,修改背景的自定义颜色
-
Android Studio 界面布局之xml文件中给输入框editText修改下划线颜色 / 为按钮设置圆角和颜色 / 约束布局预览效果和运行效果不一致 问题的解决
-
Android自定义Tablayout下划线指示器Indicator:设置宽高、圆角、渐变颜色
-
android studio 自定义edittext光标下划线颜色
-
Android更改EditText下划线的颜色样式和动态获取输入的字数的代码教程
-
android studio并列层,显示和隐藏按钮,修改背景的自定义颜色