android虚线包裹布局,Android控件封装之虚线(一)
在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控件封装之虚线(一)相关推荐
- 认识Android(常用布局,控件,四大组件,动画,自定义控件及异常消息处理机制)
目录 一.布局 1.LinearLayout(线性布局): 2.相对布局(RelativeLayout) 3.GridLayout(网格布局) 4.FrameLayout(帧布局): 二.控件 1.T ...
- 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 布局的创 ...
- Android入门(二)——常见布局与控件
文章目录 一.常见界面布局 1.线性布局 LinearLayout 2.相对布局 RelativeLayout 3.表格布局 TableLayout 4.帧布局 FrameLayout 二.常见界面控 ...
- Android开发的之基本控件和详解四种布局方式
Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方 ...
- Android中列表框纵向布局,andriod布局常用控件属性..docx
andriod布局常用控件属性. android:gravity="center_vertical" ?限定它里面的内容要垂直居中显示.?android:layout_gravit ...
- android shape 无边框颜色,Android 使用shape定义不同控件的的颜色、背景色、边框色...
Android 使用shape定义不同控件的的颜色.背景色.边框色 设置按钮的右边框和底边框颜色为红色,边框大小为3dp: 在drawable新建一个 buttonstyle.xml的文件,内容如下: ...
- Android开发之日期时间控件选择
Android开发之日期时间控件选择 文章目录 前言 一.创建弹出Layout 1.1 新建Layout,修改样式为LinearLayout 1.2 Layout中添加日期和时间控件 二.新建Date ...
- Android开发三:常用控件1--TextView、EditText、Button
上一节写到android的工程目录结构,这一节继续,开始学习控件,中间的跨度挺大,关于Activity和intent的知识我就略过了,原因很简单,网上的关于那个的资料特别多,而且理论的东西我这都是了解 ...
- android第三方代码,Android--第三方控件--okHttp(示例代码)
Android中有很多的第三方控件,其中OkHttp是一个很强大的用于网络加载的第三方控件,当然了,它的内部也是使用原生的代码封装好的.今天我们就来看一下OkHttp的简单用法: 说到网络请求,肯定就 ...
最新文章
- 使用EF操作Oracle数据库小计
- Zend Framework 的 PHP 编码标准
- 5G+SD-WAN实现更多应用的可能-vecloud微云
- 1.2.3 Using Option Files
- 9511王锋刘婧捐100万元,支持中国科大计算机学院
- Appium+Python安卓自动化测试之启动APP和配置获取
- linux释放cache
- oracle 截取小数点_oracle函数(关于处理小数点位数和时间) | 学步园
- 怎样查找某个sp中哪条sql语句存在性能问题。
- highslide图片查看特效
- 仙侣情缘之麒麟劫java_《仙侣情缘之麒麟劫》详细流程攻略[多图]
- java 工作一年的简历
- Android如何实现APP自动更新
- 一款语文老师写的word办公神级插件
- 树莓派计算模块CM4搭建软路由OpenWrt+OpenClash过程记录
- ListView的简单使用《一》—普通图文展示案例
- 编译原理实验:自上而下语法分析
- 最长公共子序列(LCS)的C++实现
- 【RV1126】移植kaldi实时语音识别
- mysql增加ip访问