`
无愧衾影
  • 浏览: 6594 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
最近访客 更多访客>>
社区版块
存档分类
最新评论

自定义控件--虚线

阅读更多
注解:转载自http://407827531.iteye.com/blog/949128。
      下面是经过本人编译后的代码。

在Android的UI开发中,有时为了界面美观而需要虚线。

Java代码 
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.util.AttributeSet;
import android.view.View;
   /** 
    * 画虚线组件  
    */ 
public DashedLine(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}

@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(30, 5); //从什么地方开始,(x、y 的坐标)
path.lineTo(320, 5);//到什么地方结束
/*
*看到这里时,想让它居中显示,但不知道Path 中的哪个属性可用,
*就从开始处到结束处入手了。有朋友知道的请告诉在下,共同学习
*/

PathEffect effects = new DashPathEffect(new float[] { 5, 5, 5, 5 }, 1);
paint.setPathEffect(effects); //Set or clear the patheffect object
/* 例如:
* new float[]{10, 4, 6, 4}。
* 这4个值分别是长线段的长度(10)、长线段与短线段的距离(4)、
* 短线段的长度(6)和短线段与长线段的距离(4)。
* (本例线段长都一样)
* 后面的一个参数为1 :offset into the intervals array
* 我试着将其改为0时没有什么效果,不明白。
*/

canvas.drawPath(path, paint);
/* 其中path参数表示用于绘制路径的轨迹
* paint参数用于指定路径的属性,例如,可以指定路径的颜色等
*/
}


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

Java代码 
<com.test.view.DashedLine
android:id="@+id/dashedLine"
android:layout_width="wrap_content"
android:layout_height="10px"   />
/*
* 高度可以调整到合适的需求
*/
分享到:
评论
1 楼 dahui12344321 2011-04-11  
找时间试试

相关推荐

    自定义控件运行时动态调整大小及位置

    C#自定义控件,运行时动态调整控件大小及位置,选中时显示虚线框及8个调整节点。

    WPF自定义虚线树形控件

    自定义的树型控件,类似于WinForm的树控件,带虚线连接各子结点,可展开和收缩。结点带有可选框。

    Android中自定义水平进度条样式之黑色虚线

    主要介绍了Android中自定义水平进度条样式之黑色虚线 的相关资料,需要的朋友可以参考下

    Android自定义控件实现圆形进度CircleProgressBar

    自定义上图所示效果的控件时,其实就是用Canvas绘制不同效果,比如渐变圆弧背景、圆周白色分割线、中间文字等,这篇博客也根据绘制的顺序依次阐述。 1.自定义CircleProgressBar,继承View,并实现响应的

    Android自定义View实现绘制虚线的方法详解

    最简单的方法是利用ShapeDrawable,比如说你想用虚线要隔开两个控件,就可以在这两个控件中加个View,然后给它个虚线背景。 嗯,理论上就是这样子的,实现上也很简单。 &lt;!-- drawable 文件 --&gt; &lt;?xml ...

    Android自定义View仿QQ健康界面

    可以设置数字颜色,字体颜色,运动步数,运动排名,运动平均步数,虚线下方的蓝色指示条的长度会随着平均步数改变而进行变化。整体效果还是和QQ运动健康界面很像的。 自定义View四部曲,一起来看看怎么实现的。 1....

    MFC GroupBox自绘控件,可以方便改变边框的颜色

    由于项目需要,需要自绘一个GroupBox,可以方便改变边框颜色,可以设置显示的字体

    VB控件属性使用大全

    获得或设置一个值,指示当使用graphics方法或可定位的控件时,自定义坐标系的单位, 有8种可选: 0 自定义 1 表示单位为twip(缇),每英寸=1440缇,每厘米=567缇 2 表示单位为point(磅) ,每英寸=72磅,每磅=20缇 3 表示...

    Android实现控件的缩放移动功能

    外层一个LinearLayout,里面一个自定义的控件DragScaleView,为了能够更清楚的看到控件的变化过程,就给控件加了一个灰色带虚线的边框bg_dashgap。 layout文件 &lt;?xml version=1.0 encoding=utf-8?&gt; &lt;...

    Android 自绘控件

    由于公司项目的需求,需要绘制一条竖直的间断线作为分割线。...所有的绘制操作就是在onDraw()方法里面进行的,当然我们的这个自定义控件都是View的直接子类。比如最常使用的TextView、ImageView就是View的直接子

    Android自定义View实现可拖拽缩放的矩形框

    本文实例为大家分享了Android自定义View拖拽缩放矩形框的具体代码,供大家参考,具体内容如下 在开发项目中,需要一个矩形框来实现截屏功能,并且还需要可以任意拖拽和缩放,这就需要自定义View来实现了,具体功能...

    贺兰实时曲线控件,VB6.0源码版

    摘要:VB源码,控件组件,曲线控件 实时曲线控件,绘制实时曲线(类似 Windows 任务管理器CPU使用率曲线),功能很多的一个曲线控件,可自定义的功能非常多,比如可以设置每条曲线的颜色、曲线的类型(实线、虚线等)...

    Silverlight2.0功能展示Demo源码

    它提供了一种将自定义逻辑应用于绑定的方式 BindingValidationError - 出现验证错误或解决上次验证错误则触发此事件 14、Silverlight(16) - 2.0数据之独立存储(Isolated Storage) 介绍 Silverlight 2.0 数据的独立...

    SuperXml:android布局能力增加,轻松实现圆角,边界,虚线,属性覆盖等功能。完全无侵入

    但是Google提供的布局属性有限,某些功能的实现我们必须使用代码,或者自定义控件的方式例如我们经常使用背景来表示和设置背景,那是不是可以使用layout_radius来表示和设置圆角呢? 使用示例需要在项目build.gradle...

    Vista风格button按钮及ICO图标控件VB源码.rar

    基于VB环境下使用的仿Vista风格button按钮及ICO图标控件源码,新增按钮主题风格样式,标题文字显示特效,颜色特效,标题对齐,标题禁止颜色自定义,标题坐标位置,圆角虚线焦点,实线焦点,字体,前景色.支持彩色...

    Android自定义环形LoadingView效果

    最近项目有要用到环形的进度条,Github上有一个类似的DashedCircularProgress控件,但是他画的进度是通过设置画笔的虚线效果来实现间隔的:progressPaint.setPathEffect(new DashPathEffect(new float[]{dashWith, ...

    RWidgetHelper:Android UI 快速开发,专治原生控件各种不服

    复用性差,自由度低RWidgetHelper优点:优化代码,简化使用,快速开发简介通过继承原生控件,设置自定义属性,解决常用 Selector,Gradient,Shape, 阴影,水波纹等功能原生控件都可实现 **基础功能** ,针对具体...

    Android使用自定义View实现横行时间轴效果

    每个阶段要显示时间、阶段名、状态图标、中间有虚线; 文字上下交错显示; 相邻阶段的文字在垂直方向上是可以相交的; 时间轴的个数不确定,但是要铺满屏幕并且不可滑动; 如果只实现上两点的效果,使用 Recycl

    Java实用程序设计100例(1)

    实例7 虚线与实线 实例8 显示多种字体 实例9 多种风格的窗口 实例10右键弹出菜单 实例11 森林状的关系图 实例12 简单的文本编辑器 实例13使用剪贴板的复制粘贴程序 实例14 文本的拖动处理 实例15 图片的拖动处理 ...

Global site tag (gtag.js) - Google Analytics