自定义VIEW①先决知识
来源:互联网 发布:小米手机怎么清除数据 编辑:程序博客网 时间:2024/06/08 09:22
最近因为毕业设计的原因需要使用到android的自定义view来做一个实时刷新的曲线图,特记录到博客上以显示进度。
- 自定义VIEW的分类
- 自定义ViewGroup
- 自定义View
- 坐标系
- 与通常坐标系的区别
- 各种获取坐标距离的方法
- 颜色
- 颜色格式
- 代码应用
自定义VIEW的分类
自定义VIEW通常来说分为两类,一类是自定义ViewGroup,继承自ViewGroup类。另一类是自定义View,继承自View类。
自定义ViewGroup
包含子View,通常继承自ViewGroup,是为了实现特定的布局方式。
比如说继承了各种按钮的标题栏,它整合了ImageView(作为衬底)以及Button来作为一个View使用,减少了重复的代码量
自定义View
通常是为了实现一个非google原生的View,继承自View,需要自己重写View类中的各种方法以获得想要实现的效果。难度较高。
比如说想要实现一个曲线/折线图(也是我的设计目标),在原生的View库中是没有这个的,需要自己来动手实现。
坐标系
与通常坐标系的区别
通常意义上的坐标系(只考虑正半轴)是左下角为坐标原点,向右为X轴正,向上为Y轴正;而android的左上角为坐标原点,向右为X轴正,向下为Y轴正,除此之外各种相关的运算不受影响,只是改变了一下Y轴正方向。
各种获取坐标/距离的方法
- 获取坐标(相对于父控件)的方法
getX()://获取触摸点相对父控件的X坐标getX()://获取触摸点相对父控件的Y坐标
- 获取坐标(相对于屏幕)的方法
getRawX()://获取触摸点相对屏幕的X坐标getRawX()://获取触摸点相对屏幕的Y坐标
- 获取距离(相对于父控件)的方法
getTop()://获取View顶相对于父View顶的距离getBottom()://获取View底相对于父View顶的距离getLeft()://获取View左相对于父View左的距离getRight()://获取View右相对于父View左的距离
颜色
颜色格式
android studo的默认颜色代码存放在res/values/colors.xml中,默认格式为RGB256色,格式为“#00ff00”,#后为16禁止字符,每两位为一个通道的颜色,从前之后分别为R(red),G(green),B(blue),00表示该通道颜色最小,ff表示该通道颜色最大。#ffffff为白色,#000000为黑色。
另外还有ARGB格式,相比RHB格式多了一个A(alpha)通道,表示透明度,00为不透明,ff为全透明。
在AndroidStudio中,在文件中设置颜色代码之后可以在该行的行号右边看到此颜色的预览。
代码应用
- 定义颜色
建议通过colors.xml来定义颜色并且调用 - 颜色调用
- Java文件中调用如下:
int color = getResources().getColor(R.color.mycolor);
- xml文件中调用如下:
android:background="@color/red"
- Java文件中调用如下:
- 自定义VIEW①先决知识
- 自定义View知识总结
- 自定义View知识
- 自定义View知识梳理
- 自定义View知识体系
- 自定义view知识储备
- 自定义View相关知识记录
- Android自定义View知识体系
- 关于自定义View入门知识
- android知识回顾-----自定义view
- android知识回顾-----自定义view
- 自定义view的相关知识
- 自定义View知识基础准备(一)
- Android知识梳理之自定义View
- 自定义View(一):相关知识
- Android自定义view(一) 知识理解
- Android 自定义view的知识梳理。
- android 积累一些自定义view的知识
- shell中的${},##和%%的使用
- WinSock 异步I/O模型[5]---完成端口+线程池技术
- Linux网络测试命令
- 【前端Web】Jquery实现的四款牛B的时间轴
- JAVA基础:循环
- 自定义VIEW①先决知识
- AMBA总线协议AHB、APB、AXI对比分析
- Docker部署WordPress LNMP(Nginx PHP MySQL)环境实践
- JAVA 对象集合转换为SQL
- ios 无码统计埋点
- tar命令和排除目录或文件
- 地理坐标系与投影坐标系
- 模糊知识点
- 2017 年你应该学习的编程语言、框架和工具