private void init(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
if (attrs != null && !isInEditMode()) {
TypedArray ta;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
ta = context.obtainStyledAttributes(attrs, R.styleable.CodeEditText, defStyleAttr, defStyleRes);
} else {
ta = context.obtainStyledAttributes(attrs, R.styleable.CodeEditText);
}
fontFamily = ta.getString(R.styleable.CodeEditText_fontFamily);
if (!TextUtils.isEmpty(fontFamily)) {
setTypeface(Typeface.createFromAsset(context.getAssets(), fontFamily));
} else {
setTypeface(Typeface.MONOSPACE);
}
showLineNumber = ta.getBoolean(R.styleable.CodeEditText_showLineNumber, true);
lineNumberColor = ta.getColor(R.styleable.CodeEditText_numberColor, Color.BLACK);
ta.recycle();
}
numberMargin = (int) (context.getResources().getDisplayMetrics().density * 3 + 0.5);
mRect = new Rect();
lineNumberPaint = new Paint();
lineNumberPaint.setStyle(Paint.Style.STROKE);
lineNumberPaint.setTypeface(getTypeface());
lineNumberPaint.setAntiAlias(true);
lineNumberPaint.setFakeBoldText(false);
lineNumberPaint.setSubpixelText(true);
PathEffect effect = new DashPathEffect(new float[]{4, 4, 4, 4}, 1);
lineNumberPaint.setPathEffect(effect);
lineNumberPaint.setColor(lineNumberColor);
}
CodeEditText.java 文件源码
java
阅读 23
收藏 0
点赞 0
评论 0
项目:FxExplorer
作者:
评论列表
文章目录