android 仿360浮动,Android--模仿360底部导航按钮
效果图:
这里写图片描述
如果没有左右2个边界的判断, 其实还是很简单的.
那就不断绘制drawCircle就可以了.
难就难在左右边界这2个特殊的地方.
我这里使用了drawArc的方法,完成左右2个特殊的地方.
部分代码:
//首先绘制 内圆. 也就是没有透明颜色的圆
mPaint.setColor(mCircleColor);
canvas.drawCircle(mCx, mCy, Math.min(curRadius, mCircleRadius), mPaint);
//其次 绘制,带有透明颜色的圆
mPaint.setColor(mCircleColorOut);
canvas.drawCircle(mCx, mCy, Math.min(curRadius, mCircleRadiusOut), mPaint);
//最后判断是否是左右特殊位置, 绘制arc
if (drawLeft) {
mPaint.setColor(mCircleColor);
canvas.drawArc(getArcRecF(Math.min(curRadius, mCircleRadiusMax)), 90, 180, true, mPaint);
} else if (drawRight) {
mPaint.setColor(mCircleColor);
canvas.drawArc(getArcRecF(Math.min(curRadius, mCircleRadiusMax)), -90, 180, true, mPaint);
}
//为了动画,需要一直改变绘制的半径
if (curRadius < maxRadius) {
curRadius += mRadiusDrawStep;
invalidateSelf();
}
使用方法:
//设置普通的背景
button.setBackground(new CircleAnimDrawable().setPosition(CircleAnimDrawable.POS_LEFT));
button.setBackground(new CircleAnimDrawable().setPosition(CircleAnimDrawable.POS_CENTER));
button.setBackground(new CircleAnimDrawable().setPosition(CircleAnimDrawable.POS_RIGHT));
//如果要在RadioButton里面使用,需要包一层Drawable
private Drawable createRadioBackground(int position) {
StateListDrawable listDrawable = new StateListDrawable();
listDrawable.addState(new int[]{android.R.attr.state_checked}, new CircleAnimDrawable().setPosition(position));
return listDrawable;
}
至此: 文章就结束了,如有疑问: QQ群:274306954 欢迎您的加入.
android 仿360浮动,Android--模仿360底部导航按钮相关推荐
- android开发,3秒学会修改底部导航按钮图标
- android 仿微信demo————微信顶部操作栏加号按钮实现(弹出子菜单)
android 仿微信demo----微信启动界面实现 android 仿微信demo----注册功能实现(移动端) android 仿微信demo----注册功能实现(服务端) android 仿微 ...
- android 仿360浮动,Android仿360悬浮小球自定义view实现示例
Android仿360悬浮小球自定义view实现示例 效果图如下: 实现当前这种类似的效果 和360小球 悬浮桌面差不错类似.这种效果是如何实现的呢.废话不多说 ,直接上代码. 1.新建工程,添加悬浮 ...
- 爱奇艺首页底部导航按钮android,仿爱奇艺/腾讯视频ViewPager导航条实现
仿爱奇艺/腾讯视频ViewPager导航条实现,支持自定义导航条高度,宽度,颜色变化,字体大小变化.支持多种滚动模式,支持自定义每个TabView的样式.项目地址:https://github.com ...
- android 仿微信录音,Android 模仿微信长按录音功能
Android 模仿微信长按录音功能 布局就两个button这里不多介绍了. 下面是activity内的代码 package com.example.forevercloud.myapplicatio ...
- android 仿ofo页面,[Android进阶]OFO首页实现小窥
[Android进阶]OFO首页实现小窥 个人微信公众号,欢迎大家加入. [图片上传失败...(image-81989-1544605445241)] 最近阅读量凄凄惨惨,难以为继,孤倍感无力,遂决定 ...
- android 仿搜索动画,Android仿京东顶部搜索框滑动伸缩动画效果
最近使用京东发现,京东顶部的搜索框有一个新的伸缩效果,根据用户的手势滑动,伸缩搜索框.觉得效果还不错,就看了下其他的应用有没有这种伸缩的效果,发现安居客也使用了类似的一种效果,然后就想着实现这样的一种 ...
- android仿iphone页面,Android仿苹果关机界面实现代码
本文实例为大家分享了Android仿苹果关机界面的具体代码,供大家参考,具体内容如下 主class 用来控制viewdialog的显示 package com.android.server.polic ...
- android 仿iphone滚轮,android仿iphone滚轮控件显示效果
android仿iphone滚轮控件显示效果,供大家参考,具体内容如下 在论坛里看到的,自己弄个效果: 这个滚动的WheelView /* * Android Wheel Control. * htt ...
- android仿qq动态,Android仿QQ空间主页面的实现
今天模仿安卓QQ空间,效果如下: 打开程序的启动画面和导航页面我就不做了,大家可以模仿微信的那个做一下,很简单.这次主要做一下主页面的实现,下面是主页面的布局: android:layout_widt ...
最新文章
- Zabbix实战之客户端自动注册
- 关于selenium的8种元素定位
- 请简要说明一下CyclicBarrier和CountDownLatch的区别?
- Android中对手机文件进行读写
- 一文搞定Qt读写excel以及qt读写xml数据
- 一条看似平常的报警邮件所做的分析
- php显示html表单内容,HTML表单是什么?HTML表单内容的详细介绍(附代码)
- 创建oracle数据库
- 时隔一年,盘点CVPR 2019影响力最大的20篇论文
- SpringMVC用注解写第一个程序HelloSpringMVC
- itextpdf将带复选框的html_HTML基础知识
- 设A为n阶非零矩阵,且A^2=A. r(A)=r (0<r<n) 求|5E+A|
- 一年中所有节日的排列顺序_我国一年中的传统节日。(按顺序)
- Cobal Strike的学习与使用
- 三小时学会Kubernetes:容器编排详细指南
- 3D动作手游的辅助瞄准算法(二)
- 技术人应该广度还是深度学习?
- linux下的ld命令(1)
- 揭开虚拟主机供应商的面纱(转)
- PCIe to CAN Linux 驱动详细说明