在Android的UI开发中,有时为了界面美观而需要虚线。
在layout文件夹下的xml引用这个控件
- packagecom.custom;
- importandroid.content.Context;
- importandroid.graphics.Canvas;
- importandroid.graphics.Color;
- importandroid.graphics.DashPathEffect;
- importandroid.graphics.Paint;
- importandroid.graphics.Path;
- importandroid.graphics.PathEffect;
- importandroid.graphics.Rect;
- importandroid.util.AttributeSet;
- importandroid.util.DisplayMetrics;
- importandroid.util.Log;
- importandroid.view.View;
- /**
- *画虚线组件
- *@authorlinweidong
- *@Date2010-09-15
- */
- publicclassDashedLineextendsView{
- privatefinalStringnamespace="http://com.smartmap.driverbook";
- privatefloatstartX;
- privatefloatstartY;
- privatefloatendX;
- privatefloatendY;
- privateRectmRect;
- publicDashedLine(Contextcontext,AttributeSetattrs){
- super(context,attrs);
- }
- @Override
- protectedvoidonDraw(Canvascanvas){
- //TODOAuto-generatedmethodstub
- super.onDraw(canvas);
- Paintpaint=newPaint();
- paint.setStyle(Paint.Style.STROKE);
- paint.setColor(Color.DKGRAY);
- Pathpath=newPath();
- path.moveTo(0,10);
- path.lineTo(480,10);
- PathEffecteffects=newDashPathEffect(newfloat[]{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"
- />