在android中,画实线可以利用view+底色+1px长或宽,来进行布局配置;但对于虚线,没有可以直接利用的虚线控件,也没有利用现有控件的比较好的实现方式。要想实现虚线,不外乎两种方式,一种是利用图片来实现,另一种就是利用画布画虚线来实现。利用图片的方式我就不介绍了,在这里介绍第二种方式,也就是利用画布来做。

首先我们定义一个类继承自View,在onDraw方法里面利用画布画出虚线,代码如下所示:

package cn.emag.utils.view;

import android.annotation.SuppressLint;

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 class CustomDashedLineView extends View {

public CustomDashedLineView(Context context, AttributeSet attrs) {

super(context, attrs);

}

@SuppressLint("DrawAllocation")

@Override

protected void onDraw(Canvas canvas) {

super.onDraw(canvas);

Paint paint = new Paint();

paint.setStyle(Paint.Style.STROKE);

paint.setColor(getResources().getColor(Color.BLACK));

Path path = new Path();

path.moveTo(0, 5);

path.lineTo(this.getWidth(), 5);

PathEffect effects = new DashPathEffect(new float[] { 5, 5, 5, 5 }, 1);

paint.setPathEffect(effects);

canvas.drawPath(path, paint);

}

}

在layout中使用:

android:layout_width="match_parent"

android:layout_height="10dp" >

当然,对于虚线的样式,可以通过样式来传参数进去,进行控制,由于各个应用的需求都不一样,这里就不展开了。

android虚线包裹布局,Android控件封装之虚线(一)相关推荐

  1. 认识Android(常用布局,控件,四大组件,动画,自定义控件及异常消息处理机制)

    目录 一.布局 1.LinearLayout(线性布局): 2.相对布局(RelativeLayout) 3.GridLayout(网格布局) 4.FrameLayout(帧布局): 二.控件 1.T ...

  2. Android 开发 -- 开发第一个安卓程序、Android UI开发(布局的创建:相对布局和线性布局、控件单位:px pt dp sp、常用控件 、常见对话框、ListView)

    文章目录 1. 开发第一个Hello World程序 1.1 开发程序 1.2 认识程序中的文件 1.3 Android程序结构 1.4 安卓程序打包 2. Android UI开发 2.1 布局的创 ...

  3. Android入门(二)——常见布局与控件

    文章目录 一.常见界面布局 1.线性布局 LinearLayout 2.相对布局 RelativeLayout 3.表格布局 TableLayout 4.帧布局 FrameLayout 二.常见界面控 ...

  4. Android开发的之基本控件和详解四种布局方式

    Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方 ...

  5. Android中列表框纵向布局,andriod布局常用控件属性..docx

    andriod布局常用控件属性. android:gravity="center_vertical" ?限定它里面的内容要垂直居中显示.?android:layout_gravit ...

  6. android shape 无边框颜色,Android 使用shape定义不同控件的的颜色、背景色、边框色...

    Android 使用shape定义不同控件的的颜色.背景色.边框色 设置按钮的右边框和底边框颜色为红色,边框大小为3dp: 在drawable新建一个 buttonstyle.xml的文件,内容如下: ...

  7. Android开发之日期时间控件选择

    Android开发之日期时间控件选择 文章目录 前言 一.创建弹出Layout 1.1 新建Layout,修改样式为LinearLayout 1.2 Layout中添加日期和时间控件 二.新建Date ...

  8. Android开发三:常用控件1--TextView、EditText、Button

    上一节写到android的工程目录结构,这一节继续,开始学习控件,中间的跨度挺大,关于Activity和intent的知识我就略过了,原因很简单,网上的关于那个的资料特别多,而且理论的东西我这都是了解 ...

  9. android第三方代码,Android--第三方控件--okHttp(示例代码)

    Android中有很多的第三方控件,其中OkHttp是一个很强大的用于网络加载的第三方控件,当然了,它的内部也是使用原生的代码封装好的.今天我们就来看一下OkHttp的简单用法: 说到网络请求,肯定就 ...

最新文章

  1. 使用EF操作Oracle数据库小计
  2. Zend Framework 的 PHP 编码标准
  3. 5G+SD-WAN实现更多应用的可能-vecloud微云
  4. 1.2.3 Using Option Files
  5. 9511王锋刘婧捐100万元,支持中国科大计算机学院
  6. Appium+Python安卓自动化测试之启动APP和配置获取
  7. linux释放cache
  8. oracle 截取小数点_oracle函数(关于处理小数点位数和时间) | 学步园
  9. 怎样查找某个sp中哪条sql语句存在性能问题。
  10. highslide图片查看特效
  11. 仙侣情缘之麒麟劫java_《仙侣情缘之麒麟劫》详细流程攻略[多图]
  12. java 工作一年的简历
  13. Android如何实现APP自动更新
  14. 一款语文老师写的word办公神级插件
  15. 树莓派计算模块CM4搭建软路由OpenWrt+OpenClash过程记录
  16. ListView的简单使用《一》—普通图文展示案例
  17. 编译原理实验:自上而下语法分析
  18. 最长公共子序列(LCS)的C++实现
  19. 【RV1126】移植kaldi实时语音识别
  20. mysql增加ip访问

热门文章

  1. AI电影修复技术,带回《乱世佳人》高清版斯嘉丽
  2. Linux开发板显示字库,linux追加中文字库,解决imagemagick 中文乱码的问题。
  3. 真正从0开始用Unity3D制作类战地2玩法的类龙之谷、王者荣耀的手游(暨全平台游戏)
  4. 为Linux命令设置快捷键
  5. 绑定手机号 根据 互联网用户账号名称管理规定
  6. 关于CommandTimeOut
  7. linux三大桌面,谁是桌面王者?Win PK Linux三大镇山之宝
  8. 检查单 2014-08-02-01
  9. 股票小程序是否要服务器,炒股不盯盘 就用小程序
  10. 为什么感觉现在不喝酒的人越来越多了?