android 动态波纹效果,Android 水波纹扩散效果
拷贝自定义控件RippleImageView /**
* Description :
* Author : liujun
* Email : liujin2son@163.com
*/
public class RippleImageView extends RelativeLayout {
private static final int SHOW_SPACING_TIME=700;
private static final int MSG_WAVE2_ANIMATION = 1;
private static final int MSG_WAVE3_ANIMATION = 2;
private static final int IMAMGEVIEW_SIZE = 80;
/**三张波纹图片*/
private static final int SIZE =3 ;
/**动画默认循环播放时间*/
private int show_spacing_time=SHOW_SPACING_TIME;
/**初始化动画集*/
private AnimationSet [] mAnimationSet=new AnimationSet[SIZE];
/**水波纹图片*/
private ImageView [] imgs=new ImageView[SIZE];
/**背景图片*/
private ImageView img_bg;
/**水波纹和背景图片的大小*/
private float imageViewWidth=IMAMGEVIEW_SIZE;
private float imageViewHeigth=IMAMGEVIEW_SIZE;
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case MSG_WAVE2_ANIMATION:
imgs[MSG_WAVE2_ANIMATION].startAnimation(mAnimationSet[MSG_WAVE2_ANIMATION]);
break;
case MSG_WAVE3_ANIMATION:
imgs[MSG_WAVE2_ANIMATION].startAnimation(mAnimationSet[MSG_WAVE3_ANIMATION]);
break;
}
}
};
public RippleImageView(Context context) {
super(context);
initView(context);
}
public RippleImageView(Context context, AttributeSet attrs) {
super(context, attrs);
getAttributeSet(context,attrs);
initView(context);
}
/**
* 获取xml属性
* @param context
* @param attrs
*/
private void getAttributeSet(Context context, AttributeSet attrs) {
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.custume_ripple_imageview);
show_spacing_time = typedArray.getInt(R.styleable.custume_ripple_imageview_show_spacing_time, SHOW_SPACING_TIME);
imageViewWidth = typedArray.getDimension(R.styleable.custume_ripple_imageview_imageViewWidth, IMAMGEVIEW_SIZE);
imageViewHeigth = typedArray.getDimension(R.styleable.custume_ripple_imageview_imageViewHeigth, IMAMGEVIEW_SIZE);
Log.d("TAG","show_spacing_time="+show_spacing_time+"mm imageViewWidth="+imageViewWidth+"px imageViewHeigth="+imageViewHeigth+"px");
typedArray.recycle();
}
private void initView(Context context) {
setLayout(context);
for (int i = 0; i
}
android 动态波纹效果,Android 水波纹扩散效果相关推荐
- android水波效果,android动态壁纸中的水波纹效果
[实例简介] android动态壁纸中的水波纹效果,采用opengl中的shader实现 [实例截图] [核心代码] @Override public String getVertexShader() ...
- android水波纹点击动画,android 控件点击水波纹效果的几种方案
目前我所知道的至少有三种可以实现点击水波纹的效果 第一种:安卓自带的方法 在安卓中有自带的一种属性,可以实现水波纹的效果,就是在所需要点击的控件属性加上如下代码: android:background ...
- Android 之自定义view实现水波纹效果
在实际的开发中,很多时候还会遇到相对比较复杂的需求,比如产品妹纸或UI妹纸在哪看了个让人兴奋的效果,兴致高昂的来找你,看了之后目的很明确,当然就是希望你能给她: 在这样的关键时候,身子板就一定得硬了, ...
- android 进度条_Android仿水波纹流球进度条控制器,实现高端大气的主流特效
今天看到一个效果挺不错的,就模仿了下来,加上了一些自己想要的效果,感觉还不错的样子,所以就分享出来了,话不多说,上图 CircleView 这里主要是实现中心圆以及水波特效 package com.l ...
- Android S 指纹解锁后的水波纹动画
记录一下bug 由于测试人员对比了R和S的行为,还有Google Pixel6的行为都没有指纹解锁后的蓝色水波纹动画,所以寻找了好久才发现在Android S的SystemUI上多了一个类-AuthR ...
- Android 特效之炫酷水波纹动画
效果图 示例代码 1.初始化画笔 public WaveView(Context context, AttributeSet attrs) {super(context, attrs);mPath = ...
- android 炫酷特效,Android 特效之炫酷水波纹动画
效果图 示例代码 1.初始化画笔 public WaveView(Context context, AttributeSet attrs) { super(context, attrs); mPath ...
- android动态文本框,Android文本框实现搜索和清空效果
本文实现的效果: 文本框输入为空时显示输入的图标:不为空时显示清空的图标,此时点击清空图标能清空文本框内输入文字. 实现效果: 核心代码: package com.example.test; impo ...
- android 动态添加颜色,Android绘制一个三角形并且可动态改变颜色
方法一: 这种方法的三角形角度没法控制,因为其实是矩形旋转. android:fromDegrees="45" android:pivotX="135%" an ...
- android 动态改变语言,android动态设置app当前运行语言的方法
android开发中有时候碰到切换语言的需求,这时候需要通过代码动态改变当前运行语言. package com.example.androidtest; import java.util.Locale ...
最新文章
- 搞懂单链表常见面试题
- python中关键字 表示空类型_Python小知识:如何在Python 3中转换数据类型
- 自然语言处理-LDA主题模型
- 中文幽默语料库构建与计算项目(幽默等级识别,幽默类型识别,隐喻类型识别,隐喻情绪识别)
- [翻译]自定义Sharepoint的登陆页面
- 车辆出厂信息接口_航测遥感中心“漳州核电智慧工地管理系统平台”通过出厂验收...
- 基于JAVA+SpringMVC+MYSQL的城市公交查询系统
- HTML 4.01/XHTML 1.0标签列表
- OKR案例: 回顾/复盘会流程模板
- 洛杉矶凌晨4点-------启航
- python中怎么画一个机器猫_用python画机器猫--哆啦A梦,开干!
- 搭建一套直播平台需要多少钱
- 焊接摆动与不摆动的区别
- [AI]深度优先、广度优先、迭代加深搜索练习题
- 智能网联汽车成兵家必争之地,恒驰智能网联汽车亮点何在?
- openssh补丁升级
- adb wifi 无线调试,连接成功后USB拔出后失效问题解决
- Mac 下修改mysql密码
- 野火STM32F407-霸天虎DSP库移植
- 锘崴科技入选中国移动海南公司2022年ICT业务合作伙伴名单