edittext 每行都有虚线

[java] view plaincopyprint?

  1. package com.zongyi.trip.ui; 
  2.  
  3.  
  4. import com.zongyi.trip.R; 
  5.  
  6.  
  7. import android.annotation.SuppressLint; 
  8. import android.content.Context; 
  9. import android.graphics.Canvas; 
  10. import android.graphics.Color; 
  11. import android.graphics.DashPathEffect; 
  12. import android.graphics.Paint; 
  13. import android.graphics.PathEffect; 
  14. import android.util.AttributeSet; 
  15. import android.widget.EditText; 
  16.  
  17.  
  18. @SuppressLint({ "ResourceAsColor", "DrawAllocation" }) 
  19. public class LinedEditText extends EditText { 
  20. //    private Paint mPaint = new Paint(); 
  21.  
  22.  
  23.     public LinedEditText(Context context) { 
  24.         super(context); 
  25.         initPaint(); 
  26.     } 
  27.  
  28.  
  29.     public LinedEditText(Context context, AttributeSet attrs) { 
  30.         super(context, attrs); 
  31.         initPaint(); 
  32.     } 
  33.  
  34.  
  35.     public LinedEditText(Context context, AttributeSet attrs, int defStyle) { 
  36.         super(context, attrs, defStyle); 
  37.         initPaint(); 
  38.     } 
  39.  
  40.  
  41.     private void initPaint() { 
  42. //        mPaint.setStyle(Paint.Style.STROKE); 
  43.         mPaint.setColor(0x80000000);  
  44. //      mPaint.setStyle(Paint.Style.STROKE);   
  45. //      mPaint.setColor(R.color.dashed_line_color);          
  46. //        PathEffect effects = new DashPathEffect(new float[]{5,5,5,5},1);   
  47. //        mPaint.setPathEffect(effects); 
  48.     } 
  49.  
  50.  
  51.     @Override protected void onDraw(Canvas canvas) { 
  52.         Paint mPaint = new Paint(); 
  53. //       mPaint.setColor(0x80000000);  
  54.         mPaint.setStyle(Paint.Style.STROKE);   
  55.         mPaint.setColor(Color.LTGRAY);  
  56.         PathEffect effects = new DashPathEffect(new float[]{5,5,5,5},5);   
  57.       mPaint.setPathEffect(effects); 
  58.          
  59.         int left = getLeft(); 
  60.         int right = getRight(); 
  61.         int paddingTop = getPaddingTop(); 
  62.         int paddingBottom = getPaddingBottom(); 
  63.         int paddingLeft = getPaddingLeft(); 
  64.         int paddingRight = getPaddingRight(); 
  65.         int height = getHeight(); 
  66.         int lineHeight = getLineHeight(); 
  67.         int spcingHeight = (int) getLineSpacingExtra(); 
  68.         int count = (height-paddingTop-paddingBottom) / lineHeight; 
  69.          
  70.            
  71.  
  72.  
  73.         for (int i = 0; i < count; i++) { 
  74.             int baseline = lineHeight * (i+1) + paddingTop - spcingHeight/2
  75.             canvas.drawLine(left+paddingLeft, baseline, right-paddingRight, baseline, mPaint); 
  76.         } 
  77.  
  78.  
  79.         super.onDraw(canvas); 
  80.     } 

package com.zongyi.trip.ui;import com.zongyi.trip.R;import android.annotation.SuppressLint;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.DashPathEffect;import android.graphics.Paint;import android.graphics.PathEffect;import android.util.AttributeSet;import android.widget.EditText;@SuppressLint({ "ResourceAsColor", "DrawAllocation" })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); // mPaint.setStyle(Paint.Style.STROKE); // mPaint.setColor(R.color.dashed_line_color); // PathEffect effects = new DashPathEffect(new float[]{5,5,5,5},1); // mPaint.setPathEffect(effects); } @Override protected void onDraw(Canvas canvas) { Paint mPaint = new Paint();// mPaint.setColor(0x80000000); mPaint.setStyle(Paint.Style.STROKE); mPaint.setColor(Color.LTGRAY); PathEffect effects = new DashPathEffect(new float[]{5,5,5,5},5); mPaint.setPathEffect(effects); 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 spcingHeight = (int) getLineSpacingExtra(); int count = (height-paddingTop-paddingBottom) / lineHeight; for (int i = 0; i < count; i++) { int baseline = lineHeight * (i+1) + paddingTop - spcingHeight/2 ; canvas.drawLine(left+paddingLeft, baseline, right-paddingRight, baseline, mPaint); } super.onDraw(canvas); }}

[html] view plaincopyprint?

  1. <com.zongyi.trip.ui.LinedEditText 
  2.            android:id="@+id/edittext_message" 
  3.            android:layout_width="fill_parent" 
  4.            android:layout_height="200dp" 
  5.            android:lineSpacingExtra="15dp" 
  6.            android:gravity="top" 
  7.            android:textColor="#ACB6BB" 
  8.            android:textSize="18sp" /> 

<com.zongyi.trip.ui.LinedEditText android:id="@+id/edittext_message" android:layout_width="fill_parent" android:layout_height="200dp" android:lineSpacingExtra="15dp" android:gravity="top" android:textColor="#ACB6BB" android:textSize="18sp" />



 

转自:http://blog.csdn.net/jjaze3344/article/details/13995235

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值