android中editText中的页面行
在android中,如何在编辑文本中显示页面行,如图片android中editText中的页面行,android,xml,Android,Xml,在android中,如何在编辑文本中显示页面行,如图片 使用默认的EditText是不可能的,您需要找到任何自定义库才能将此类功能与EditText一起使用。您可以使用自定义的EditText来执行此操作,如下所示(复制自) 公共类LinedEditText扩展了EditText{ 私有油漆mPaint=新油漆(); public linededitext(上下文){ 超级(上下文); initPaint(); } public LinedEditText(上下文、属性集属性){ 超级(上下文,
使用默认的
EditText
是不可能的,您需要找到任何自定义库才能将此类功能与EditText一起使用。您可以使用自定义的EditText
来执行此操作,如下所示(复制自)
公共类LinedEditText扩展了EditText{
私有油漆mPaint=新油漆();
public linededitext(上下文){
超级(上下文);
initPaint();
}
public LinedEditText(上下文、属性集属性){
超级(上下文,attrs);
initPaint();
}
public linededitext(上下文上下文、属性集属性、int-defStyle){
超级(上下文、属性、定义样式);
initPaint();
}
私有void initPaint(){
mPaint.setStyle(油漆、样式、笔划);
mPaint.setColor(0x8000000);
}
@覆盖受保护的void onDraw(画布){
int left=getLeft();
int right=getRight();
int paddingTop=getPaddingTop();
int paddingBottom=getPaddingBottom();
int paddingLeft=getPaddingLeft();
int paddingRight=getPaddingRight();
int height=getHeight();
int lineHeight=getLineHeight();
整数计数=(高度填充顶部填充底部)/线宽;
for(int i=0;i
public class LinedEditText extends EditText {
private Paint mPaint = new Paint();
public LinedEditText(Context context) {
super(context);
initPaint();
}
public LinedEditText(Context context, AttributeSet attrs) {
super(context, attrs);
initPaint();
}
public LinedEditText(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
initPaint();
}
private void initPaint() {
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setColor(0x80000000);
}
@Override protected void onDraw(Canvas canvas) {
int left = getLeft();
int right = getRight();
int paddingTop = getPaddingTop();
int paddingBottom = getPaddingBottom();
int paddingLeft = getPaddingLeft();
int paddingRight = getPaddingRight();
int height = getHeight();
int lineHeight = getLineHeight();
int count = (height-paddingTop-paddingBottom) / lineHeight;
for (int i = 0; i < count; i++) {
int baseline = lineHeight * (i+1) + paddingTop;
canvas.drawLine(left+paddingLeft, baseline, right-paddingRight, baseline, mPaint);
}
super.onDraw(canvas);
}
}