您的位置:

Android EditText下划线颜色设置方法

一、创建drawable文件

Android中,我们可以通过创建drawable文件来实现对EditText下划线颜色的设置。在res目录下,新建一个drawable文件夹,然后新建一个xml文件my_edittext.xml,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <stroke
        android:width="1dp" //下划线宽度为1dp
        android:color="#FF0000"  //下划线颜色为红色
    />
</shape>
在这里,我们定义了一个shape,也就是形状,通过stroke标签表示下划线,设置了下划线的宽度和颜色。

二、在EditText中引用drawable

在我们定义好的drawable文件中,我们可以为EditText设置下划线的颜色。在xml文件中我们需要使用android:background="@drawable/my_edittext"属性,代码如下:
<EditText
    android:id="@+id/edittext"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/my_edittext"
/>
这样就可以将my_edittext.xml中定义的下划线样式应用到EditText中了。

三、通过代码动态修改下划线颜色

有时候我们需要在代码中动态修改EditText的下划线颜色,这时我们可以通过代码来实现。我们可以通过获取EditText的背景Drawable,然后将其转化为GradientDrawable,最后设置下划线颜色即可。代码如下:
EditText editText = findViewById(R.id.edittext);
Drawable background = editText.getBackground();
if (background instanceof GradientDrawable) {
    ((GradientDrawable) background.mutate()).setStroke(1, R.color.blue);
}
通过判断获取到的背景Drawable是否是GradientDrawable,然后使用mutate()方法拷贝一个新的Drawable,最后通过setStroke()方法设置下划线颜色。

四、完整的代码示例

my_edittext.xml文件代码:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <stroke
        android:width="1dp"
        android:color="#FF0000"
    />
</shape>
布局文件代码:
<EditText
    android:id="@+id/edittext"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/my_edittext"
/>
动态修改下划线颜色代码:
EditText editText = findViewById(R.id.edittext);
Drawable background = editText.getBackground();
if (background instanceof GradientDrawable) {
    ((GradientDrawable) background.mutate()).setStroke(1, R.color.blue);
}
至此,我们就完成了对EditText下划线颜色设置的介绍。通过创建drawable文件,设置下划线的颜色,引用到EditText中,就可以实现下划线颜色的定制。
Android EditText下划线颜色设置方法

2023-05-14
Android EditText的去下划线实现方法

2023-05-14
如何自定义Android EditText光标的颜色

2023-05-14
提升用户体验的Android EditText输入框设置

在Android应用程序中,EditText输入框是用户与应用程序进行交互的重要组件之一。良好的EditText输入框设置可以提升用户的使用体验,增加应用程序的可用性。本文将从多个方面对Android

2023-12-08
Android应用设计规范

2023-05-14
Android EditText光标位置设置方法

2023-05-14
Android TextView下划线的使用

2023-05-20
Android设置文字颜色的方法

2023-05-14
Android应用设置状态栏颜色的方法

2023-05-14
Android EditText获取焦点详解

2023-05-20
Android验证码输入框详解

2023-05-23
Android 颜色透明度设置技巧

一、理解透明度 在Android应用开发中,透明度是一个非常重要的概念。它允许我们在显示View的时候,通过降低不透明度来使View透明。Android中的透明度用整型值来表示,范围从0(完全透明)到

2023-12-08
提升Android应用用户体验的技巧——使用下划线营造清晰界

2023-05-14
Android SpannableString详解

2023-05-20
Android圆角背景

2023-05-19
Android TextView添加下划线样式

2023-05-14
提升用户登录体验的必备组件:Android验证码输入框

2023-05-14
提升你的Android应用体验

在当今移动互联网时代,Android操作系统已经成为了最受欢迎的手机操作系统之一。然而,应用市场却充斥着各种质量参差不齐的应用,用户因此在选择应用时显得非常挑剔。针对这种情况,作为一名Android开

2023-12-08
用Android Studio创建漂亮的应用设计布局

2023-05-14
Android EditView应用开发指南

Android中的EditView是开发中常用的一种用户输入控件。它能够接受并显示用户输入的文本,同时支持一些基本的编辑功能。在本篇文章中,我们将从多个方面详细阐述Android EditView的使

2023-12-08