注解:转载自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" />
/*
* 高度可以调整到合适的需求
*/
分享到:
相关推荐
本实例——“C#自定义控件实例---实现带行数和标尺的RichTextBox”,就是这样一个例子,它扩展了标准的RichTextBox控件,添加了行数显示和水平标尺的功能。 首先,我们要理解RichTextBox控件的基础功能。默认情况下...
然而,`RichTextBox`默认并未提供行数显示和标尺功能,开发者往往需要自定义控件来实现这些高级特性。 本实例中,我们将探讨如何在C#中创建一个自定义的`RichTextBox`控件,以实现带有行数和标尺的功能。首先,我们...
综上所述,"C#自定义控件案例--美化GroupBox.rar"中的内容应该是关于如何通过C#自定义控件技术,对`GroupBox`进行美化,包括自定义边框样式、背景颜色、响应鼠标事件等方面。这样的案例可以帮助开发者了解和掌握...
本主题将深入探讨如何在运行时动态调整自定义控件的大小和位置,以及如何在选中时显示虚线框和八个调整节点,以实现类似Windows操作系统中常见的拖动调整效果。 首先,我们需要创建一个自定义控件类,继承自`System...
总结,实现一个自定义的WPF虚线树形控件涉及多个步骤,包括自定义控件的创建、虚线绘制、节点展开与收缩的管理、可选框的集成、数据绑定以及事件处理。通过这种方式,我们可以创建出一个功能丰富、高度可定制的树形...
在Android开发中,自定义控件是提升应用独特性和用户体验的重要手段。LineDemo是一个典型的Android自定义控件示例,它展示了如何从头创建一个特定的UI元素——线条(Line)。下面将详细介绍这个主题,包括自定义控件...
在C#编程中,绘制自定义虚线是图形用户界面(GUI)开发中常见的需求,尤其是在Windows Forms或WPF应用程序中。虚线可以用于表示分隔线、指示器或者为某些元素添加视觉效果。本文将深入探讨如何在C#中实现自定义虚线...
在ASP.NET中,我们通常会将这种绘图逻辑放在服务器控件的Paint事件处理程序中,或者在自定义控件中重写OnPaint方法。例如,对于一个自定义的PictureBox控件,可以在它的OnPaint方法中进行绘制。 5. **Example055-...
在C#编程中,绘制自定义虚线是图形用户界面(GUI)开发中常见的需求,尤其是在Windows Forms或WPF应用程序中。虚线可以用于创建各种视觉效果,如分隔线、指示器等。本篇文章将深入探讨如何使用C#来实现这一功能。 ...
总结来说,通过自定义`TreeViewItem`的`HeaderTemplate`和`ItemsPanelTemplate`,我们可以实现一个具有虚线分隔的`WPF TreeView`。这种自定义不仅增强了界面的美观性,也为用户提供了更好的视觉引导。在实际开发中,...
本资源"安卓手绘图片处理画板相关-Android签名控件手写自定义的控件.rar"提供了一个针对这一需求的自定义控件实现。下面我们将深入探讨这个主题,讲解如何在Android中实现手绘图片处理和签名控件。 首先,自定义...
- 在资源编辑器中,为对话框添加一个自定义控件,并设置其类为`CDraggableSplitter`。 - 在对话框类的`OnInitDialog()`方法中,初始化分隔条的位置和尺寸。 步骤3:实现拖动逻辑 - 当用户按下鼠标按钮时,记录当前...
在Android开发中,自定义控件样式是提升应用界面美观性和个性化的重要手段。本文将深入探讨如何在Android中创建自定义控件样式,以及如何通过XML文件来实现这些样式。 首先,自定义控件样式通常在项目的`res/...
在`ColorGroupBox.cpp`中,会实现这些方法,包括`OnPaint()`,这是处理WM_PAINT消息的地方,我们在这里自定义控件的绘制逻辑,例如使用`CPaintDC`和`CBrush`来绘制指定颜色的边框,以及使用设置的字体来绘制标题。...
自定义控件是.NET开发中的一个重要概念,它使程序员能够扩展或修改系统提供的标准控件以满足特定需求。 首先,让我们深入理解Panel控件。Panel是Windows Forms中的一种容器控件,通常用于组织和管理其他控件。默认...
在VB6(Visual Basic 6)编程环境中,控件的移动和大小调整是常见的交互设计要素,这使得用户能够自定义界面布局。标题提到的"VB6运行时控件移动 右下角拖动大小 有虚线框显示"是指在程序运行时,通过控件的右下角...
本篇文章将详细讲解如何在Android中自定义一个水平进度条的样式,使其呈现出黑色虚线的效果。 首先,我们来看一下自定义进度条的基础布局。在XML布局文件中,我们需要使用`<ProgressBar>`标签来创建进度条,并设置...
有时我们需要在应用程序的界面中进行图形绘制,比如画直线,这在创建自定义控件或实现特定视觉效果时非常有用。本文将深入探讨如何使用C#实现在WinForm控件上画直线,并介绍相关的绘图API和技术。 首先,我们需要...
综上所述,QML TreeView添加节点间虚线涉及到的主要知识点有:QML的TreeView控件、数据模型绑定、自定义Delegate、Path和PathStroke用于绘制虚线,以及根据节点位置动态调整虚线的可见性。通过理解和应用这些知识点...