zoukankan      html  css  js  c++  java
  • 笔记本样式的EditText控件(每行均带下划虚线)

    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);
        }
    }
     <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" />




  • 相关阅读:
    Android ListView 列表视图
    android handler msg的使用 实现进度条
    Intent 传递数据
    微服务-springcloud
    微服务-dubbo学习
    日志收集系统
    微服务追踪
    链表有环判断,快慢指针两种方法/合并链表/删除重复元素/二分递归和while
    算法练习,链表二分最大n个
    池以及barrier简单
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3402409.html
Copyright © 2011-2022 走看看