`
无愧衾影
  • 浏览: 6709 次
  • 性别: 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#自定义控件实例---实现带行数和标尺的RichTextBox_《0528》.rar

    本实例——“C#自定义控件实例---实现带行数和标尺的RichTextBox”,就是这样一个例子,它扩展了标准的RichTextBox控件,添加了行数显示和水平标尺的功能。 首先,我们要理解RichTextBox控件的基础功能。默认情况下...

    C#自定义控件实例---实现带行数和标尺的RichTextBox.rar

    然而,`RichTextBox`默认并未提供行数显示和标尺功能,开发者往往需要自定义控件来实现这些高级特性。 本实例中,我们将探讨如何在C#中创建一个自定义的`RichTextBox`控件,以实现带有行数和标尺的功能。首先,我们...

    C#自定义控件案例--美化GroupBox.rar

    综上所述,"C#自定义控件案例--美化GroupBox.rar"中的内容应该是关于如何通过C#自定义控件技术,对`GroupBox`进行美化,包括自定义边框样式、背景颜色、响应鼠标事件等方面。这样的案例可以帮助开发者了解和掌握...

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

    本主题将深入探讨如何在运行时动态调整自定义控件的大小和位置,以及如何在选中时显示虚线框和八个调整节点,以实现类似Windows操作系统中常见的拖动调整效果。 首先,我们需要创建一个自定义控件类,继承自`System...

    WPF自定义虚线树形控件

    总结,实现一个自定义的WPF虚线树形控件涉及多个步骤,包括自定义控件的创建、虚线绘制、节点展开与收缩的管理、可选框的集成、数据绑定以及事件处理。通过这种方式,我们可以创建出一个功能丰富、高度可定制的树形...

    android自定义控件LineDemo.rar

    在Android开发中,自定义控件是提升应用独特性和用户体验的重要手段。LineDemo是一个典型的Android自定义控件示例,它展示了如何从头创建一个特定的UI元素——线条(Line)。下面将详细介绍这个主题,包括自定义控件...

    C# 绘制自定义虚线

    在C#编程中,绘制自定义虚线是图形用户界面(GUI)开发中常见的需求,尤其是在Windows Forms或WPF应用程序中。虚线可以用于表示分隔线、指示器或者为某些元素添加视觉效果。本文将深入探讨如何在C#中实现自定义虚线...

    asp.net 绘制自定义虚线

    在ASP.NET中,我们通常会将这种绘图逻辑放在服务器控件的Paint事件处理程序中,或者在自定义控件中重写OnPaint方法。例如,对于一个自定义的PictureBox控件,可以在它的OnPaint方法中进行绘制。 5. **Example055-...

    用C#绘制自定义虚线

    在C#编程中,绘制自定义虚线是图形用户界面(GUI)开发中常见的需求,尤其是在Windows Forms或WPF应用程序中。虚线可以用于创建各种视觉效果,如分隔线、指示器等。本篇文章将深入探讨如何使用C#来实现这一功能。 ...

    WPF 虚线 TreeView

    总结来说,通过自定义`TreeViewItem`的`HeaderTemplate`和`ItemsPanelTemplate`,我们可以实现一个具有虚线分隔的`WPF TreeView`。这种自定义不仅增强了界面的美观性,也为用户提供了更好的视觉引导。在实际开发中,...

    安卓手绘图片处理画板相关-Android签名控件手写自定义的控件.rar

    本资源"安卓手绘图片处理画板相关-Android签名控件手写自定义的控件.rar"提供了一个针对这一需求的自定义控件实现。下面我们将深入探讨这个主题,讲解如何在Android中实现手绘图片处理和签名控件。 首先,自定义...

    MFC对话框分割条拖动控件

    - 在资源编辑器中,为对话框添加一个自定义控件,并设置其类为`CDraggableSplitter`。 - 在对话框类的`OnInitDialog()`方法中,初始化分隔条的位置和尺寸。 步骤3:实现拖动逻辑 - 当用户按下鼠标按钮时,记录当前...

    Android自定义控件样式实例详解

    在Android开发中,自定义控件样式是提升应用界面美观性和个性化的重要手段。本文将深入探讨如何在Android中创建自定义控件样式,以及如何通过XML文件来实现这些样式。 首先,自定义控件样式通常在项目的`res/...

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

    在`ColorGroupBox.cpp`中,会实现这些方法,包括`OnPaint()`,这是处理WM_PAINT消息的地方,我们在这里自定义控件的绘制逻辑,例如使用`CPaintDC`和`CBrush`来绘制指定颜色的边框,以及使用设置的字体来绘制标题。...

    可以随心所欲改变边框的自定义Panel

    自定义控件是.NET开发中的一个重要概念,它使程序员能够扩展或修改系统提供的标准控件以满足特定需求。 首先,让我们深入理解Panel控件。Panel是Windows Forms中的一种容器控件,通常用于组织和管理其他控件。默认...

    VB6运行时控件移动 右下角拖动大小 有虚线框显示

    在VB6(Visual Basic 6)编程环境中,控件的移动和大小调整是常见的交互设计要素,这使得用户能够自定义界面布局。标题提到的"VB6运行时控件移动 右下角拖动大小 有虚线框显示"是指在程序运行时,通过控件的右下角...

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

    本篇文章将详细讲解如何在Android中自定义一个水平进度条的样式,使其呈现出黑色虚线的效果。 首先,我们来看一下自定义进度条的基础布局。在XML布局文件中,我们需要使用`&lt;ProgressBar&gt;`标签来创建进度条,并设置...

    C#实现在控件上画直线

    有时我们需要在应用程序的界面中进行图形绘制,比如画直线,这在创建自定义控件或实现特定视觉效果时非常有用。本文将深入探讨如何使用C#实现在WinForm控件上画直线,并介绍相关的绘图API和技术。 首先,我们需要...

    QML TreeView添加节点间虚线

    综上所述,QML TreeView添加节点间虚线涉及到的主要知识点有:QML的TreeView控件、数据模型绑定、自定义Delegate、Path和PathStroke用于绘制虚线,以及根据节点位置动态调整虚线的可见性。通过理解和应用这些知识点...

Global site tag (gtag.js) - Google Analytics