Android自定义画虚线的控件

来源:互联网 发布:淘宝在哪修改宝贝 编辑:程序博客网 时间:2024/04/30 02:38

在Android的UI开发中,有时为了界面美观而需要使用虚线。在这里我自己实现一个画虚线的控件

package com.custom; import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.DashPathEffect;import android.graphics.Paint;import android.graphics.Path;import android.graphics.PathEffect;import android.graphics.Rect;import android.util.AttributeSet;import android.util.DisplayMetrics;import android.util.Log;import android.view.View; public class DashedLine extends View {    private final String namespace = "http://www.android-study.com/";    private float startX;    private float startY;    private float endX;    private float endY;    private Rect mRect;     public DashedLine(Context context, AttributeSet attrs) {        super(context, attrs);    }     @Override    protected void onDraw(Canvas canvas) {        // TODO Auto-generated method stub        super.onDraw(canvas);        Paint paint = new Paint();        paint.setStyle(Paint.Style.STROKE);        paint.setColor(Color.DKGRAY);        Path path = new Path();        path.moveTo(0, 10);        path.lineTo(480, 10);        PathEffect effects = new DashPathEffect(new float[] { 5, 5, 5, 5 }, 1);        paint.setPathEffect(effects);        canvas.drawPath(path, paint);    }}

在layout文件夹下的xml引用这个控件。

<com.custom.DashedLine    android:id="@+id/dashedLine"    android:layout_width="wrap_content"    android:layout_height="20px"    />