android,如何在edittext中绘制虚线

android,如何在edittext中绘制虚线,第1张

概述我参考了这个链接:HowdoImakeadotted/dashedlineinAndroid?,并使用了DashPathEffect.但这对我不起作用?为什么?我的代码:publicclassNoteEditTextextendsEditText{privatePaintmPaint;publicNoteEditText(Contextcontext){super(context);

我参考了这个链接:How do I make a dotted/dashed line in Android?,并使用了DashPathEffect.但这对我不起作用?为什么?我的代码:

public class NoteEditText extends EditText {    private Paint mPaint;    public NoteEditText(Context context) {        super(context);    }    public NoteEditText(Context context, AttributeSet attrs) {        super(context, attrs);        mPaint = new Paint();        mPaint.setstrokeWIDth(1);        mPaint.setStyle(Paint.Style.FILL_AND_stroke);        mPaint.setcolor(color.DKGRAY);        PathEffect effects = new DashPathEffect(new float[]{5,5,5,5},1);          mPaint.setPathEffect(effects);    }    @OverrIDe    public voID onDraw(Canvas canvas) {        super.onDraw(canvas);        int height = this.getHeight();        int lineHeight = this.getlineHeight();        int lineNum = height / lineHeight;        L.l("line count: " + lineNum);        for (int i = 0; i < lineNum; i++) {            int y = (i + 1) * lineHeight;            canvas.drawline(0, y, this.getWIDth() - 1, y, mPaint);        }    }}

解决方法:

硬件加速不支持方法setPathEffect.默认情况下它已打开(我认为自AndroID 4.0以来)

http://developer.android.com/guide/topics/graphics/hardware-accel.html#unsupported

您可以使用以下代码段关闭构造函数内的硬件加速:

setLayerType(VIEw.LAYER_TYPE_SOFTWARE, null);

总结

以上是内存溢出为你收集整理的android,如何在edittext中绘制虚线全部内容,希望文章能够帮你解决android,如何在edittext中绘制虚线所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1099572.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存