自定义气泡菜单
来源:互联网 发布:知党史 编辑:程序博客网 时间:2024/04/30 02:15
先占个坑,下次写,附上截图
效果图
正文
说起做这个组件的前言,我在还没做以前还以为是UI给一个图,里面放布局填充,图作为背景,后来发现越来越多类似长短不一,颜色不一的菜单,如果是图片的话,可就太折腾了
首先分解需求,会发现,刨除里面的子view布局不管,会发现有以下几点
- 尖角(三角形)
- 尖角的方位
- 尖角的高度
- 尖角的底边宽度
圆角方形
- 圆角radius
- 设置尖角以后,方块图形本身需要相对于整体布局的偏移量
首先是属性的抽取
对应上面的图1分别是
- 方位
- 尖角底边
- 尖角高度
- 背景色
- 边框线条色
- 边框圆角
- 尖角距离屏幕左边的margin值
- 方形内部的view距离方框的padding值
- 尖角位置(毕竟有可能是不定长度,但是居中或者居左,居右之类的)
再来看initOrientation方法
private void initOrientation(int orientation) { int viewDistance = (int) (PADDING + mCornerPadding); switch (orientation) { case 1: mOrientation = BubbleOrientation.TOP; setPadding(viewDistance, (int) (mCornerPadding + mCornerLength), viewDistance, viewDistance); break; case 2: mOrientation = BubbleOrientation.RIGHT; setPadding((int) (mCornerPadding + mCornerLength), viewDistance, viewDistance, viewDistance); break; case 3: mOrientation = BubbleOrientation.LEFT; setPadding(viewDistance, viewDistance, (int) (mCornerPadding + mCornerLength), viewDistance); break; case 4: mOrientation = BubbleOrientation.BOTTOM; setPadding(viewDistance, viewDistance, viewDistance, (int) (mCornerPadding + mCornerLength)); break; default: break; } }
阅读全文
0 0
- 自定义气泡菜单
- 百度地图自定义气泡
- 自定义气泡背景View
- 百度地图自定义气泡
- iOS 自定义绘制气泡
- 自定义气泡背景
- 气泡型弹出菜单效果
- 自定义气泡提示小插件
- cesium自定义气泡窗口infoWindow
- VC6.0 系统托盘、气泡提示、右键菜单
- 一大波下拉菜单, 气泡聊天来袭
- 自定义气泡,适配项目中的所有气泡
- 气泡
- 气泡
- 气泡
- iOS 自定义百度地图标注气泡
- 百度地图自定义弹出气泡和大头针
- 百度地图(自定义标签、气泡)
- ssh免密码登录
- 负载均衡SLB高可用的四个层次
- lucene 高亮
- easyui combotree 集成在web开发
- android 百度地图路径规划,去掉图标
- 自定义气泡菜单
- 一篇文章读懂Java类加载器
- 复盘_9月——(第1周工作复盘)
- zookeeper知识点
- 「python」输入
- Azkaban的安装和使用
- 使用Log4j将程序日志实时写入Kafka
- SringBuffer与String的区别
- 【tyvj1061】Mobile Service(dp)