Android,动态地从EditText更改下划线颜色

是否可以动态地从EditText更改下划线的颜色?
就像效果一样,当我专注它时,它会变成蓝色.

希望你明白我想做什么.

解决方法

创建自己的自定义EditText控件

这是我为你做的一个例子:

选中后,您必须更改mPaint.setColor(Color.GREEN);另一种颜色

public class CustomEditText extends EditText{


private Rect mRect;
private Paint mPaint;
 int widthMsSize;
 int heightMsSize ;
// we need this constructor for LayoutInflater
public CustomEditText(Context context,AttributeSet attrs) {
    super(context,attrs);


    mPaint = new Paint();
    mPaint.setStyle(Paint.Style.stroke);
    mPaint.setstrokeWidth(5);
    mPaint.setColor(Color.GREEN);

    System.out.println("constructor");
}

protected void onMeasure(final int widthMeasureSpec,final int heightMeasureSpec) {
    // Extract the Ms (MesaureSpec) parameters

    widthMsSize = MeasureSpec.getSize(widthMeasureSpec);

    heightMsSize = MeasureSpec.getSize(heightMeasureSpec);

     System.out.println("on measure");
    // Satisfy contract by calling setMeasuredDimension
    setMeasuredDimension(widthMsSize,heightMsSize);



}

protected void onDraw(Canvas canvas) {

    canvas.drawLine(5,heightMsSize-10,widthMsSize-5,mPaint); //draw underline

    canvas.drawLine(8,8,heightMsSize-20,mPaint); //draw left corner

    canvas.drawLine(widthMsSize-8,widthMsSize-8,mPaint); //draw right corner

    super.onDraw(canvas);
}

}

main.xml中

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <com.example.testanimationfadeinfadeout.CustomEditText
        android:id="@+id/textedit"
        android:layout_width="228dp"
        android:layout_height="41dp"
        android:ems="10"
        android:hint="color is changed" />

</LinearLayout>

相关文章

###实现效果*本实例主要实现用ViewPage和Fragment实现选项卡...
一、安装 JDK 下载JDK最新版本,下载地址如下: http://www....
这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...