paint.setcolor没有得到应用

时间:2017-08-07 08:00:03

标签: java android

我正在使用自定义编辑文字在我的应用中显示笔记活动。我目前面临的问题是我无法更改字段的下划线颜色。下划线颜色似乎有静态颜色。 尝试了这么多解决方案,但似乎没有改变颜色。我做错了什么?

public class LinedEditText extends android.support.v7.widget.AppCompatEditText {
    private Rect mRect;
    private Paint mPaint;
    public LinedEditText(Context context, AttributeSet attrs)
    {
        super(context, attrs);
        mRect = new Rect();
        mPaint = new Paint();
        mPaint.setStyle(Paint.Style.STROKE);
        int color = ContextCompat.getColor(context, R.color.colorPrimaryDark);
        mPaint.setColor(color);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        int height = canvas.getHeight();
        int curHeight = 0;
        Rect r = mRect;
        Paint paint = mPaint;
        int baseline = getLineBounds(0, r);
        for (curHeight = baseline + 1; curHeight < height;
             curHeight += getLineHeight())
        {
            canvas.drawLine(r.left, curHeight, r.right, curHeight, paint);
        }
        super.onDraw(canvas);
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        invalidate();
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    }
}


<com.app.example.notetaker.LinedEditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:inputType="textMultiLine|textNoSuggestions"
    android:minLines="10"
    android:imeOptions="actionNone"
    android:ems="10"
    android:id="@+id/note_et_content"
    android:layout_below="@+id/note_et_title"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_alignRight="@+id/note_et_title"
    android:layout_alignEnd="@+id/note_et_title"
    android:layout_alignParentBottom="true"
    android:hint="enter your note"
    android:gravity="top"/>

1 个答案:

答案 0 :(得分:0)

我测试了你的代码并且它工作正常,所以我认为颜色资源文件中的错误。对于红色,字符串必须像这样思考:<color name="colorPrimaryDark">#f00</color> 还尝试将颜色直接设置为代码以进行检查,例如:int color = 0xFF00CC00;,例如绿色。