当前位置: 首页 > news >正文

网站开发 土木陕西省建设厅证件查询

网站开发 土木,陕西省建设厅证件查询,WordPress回车按钮,2023企业所得税最新政策支付宝上有一个咻一咻的功能,就是点击图片后四周有水波纹的这种效果,今天也写一个类似的功能。效果如下所示#xff1a;思路#xff1a;就是几个圆的半径不断在变大,这个可以使用动画缩放实现,还有透明动画还有就是这是好几个圆,然后执行的动画有个延迟效果,其实这些动画是放…支付宝上有一个咻一咻的功能,就是点击图片后四周有水波纹的这种效果,今天也写一个类似的功能。效果如下所示思路就是几个圆的半径不断在变大,这个可以使用动画缩放实现,还有透明动画还有就是这是好几个圆,然后执行的动画有个延迟效果,其实这些动画是放在一起执行的,熟悉属性动画的知道已经给我们提供了同步执行动画和顺序执行动画的实现api,也会会有人说这几个view就是在onDraw()方法中画几个圆,可能会说我还要继承容器view去onLayout()方法中这些子view添加在某个特定的区域,当然这也是可以的,其实简单的就是以图片为中心(图片imageview在父view的中心),然后画圆,指定每个字view的宽和高就行了,具体看代码package com.zhifubaoxiuyixiu.view;import android.animation.Animator;import android.animation.AnimatorSet;import android.animation.ObjectAnimator;import android.content.Context;import android.graphics.Color;import android.graphics.Paint;import android.util.AttributeSet;import android.view.Gravity;import android.view.View;import android.view.animation.AccelerateDecelerateInterpolator;import android.widget.FrameLayout;import java.util.ArrayList;/*** Created by admin on 2016/12/29.*/public class ZhifubaoFrameLayout extends FrameLayout {private int rippleColor Color.parseColor(#0099CC);//水波纹的颜色private int radius 0;//水波纹圆的半径private long anim_duration 3000;//动画执行的时间private int water_ripple_count 6;private int scale 6;//动画缩放比例private long animDelay;//动画延迟的时间private Paint paint;private AnimatorSet animatorSet;private ArrayList animatorList;private FrameLayout.LayoutParams rippleParams;private ArrayList rippleViewListnew ArrayList();private boolean isAnimRunning false;public ZhifubaoFrameLayout(Context context) {this(context,null);}public ZhifubaoFrameLayout(Context context, AttributeSet attrs) {this(context,attrs,0);}public ZhifubaoFrameLayout(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);initPaint();addChildView();initAnim();}/*** 初始化动画*/private void initAnim() {animatorSet new AnimatorSet();animatorSet.setInterpolator(new AccelerateDecelerateInterpolator());animatorListnew ArrayList();for(int i0;ifinal ObjectAnimator scaleXAnimator ObjectAnimator.ofFloat(rippleViewList.get(i), ScaleX, 1.0f, scale);scaleXAnimator.setRepeatCount(ObjectAnimator.INFINITE);scaleXAnimator.setRepeatMode(ObjectAnimator.RESTART);scaleXAnimator.setStartDelay(i * animDelay);scaleXAnimator.setDuration(anim_duration);animatorList.add(scaleXAnimator);final ObjectAnimator scaleYAnimator ObjectAnimator.ofFloat(rippleViewList.get(i), ScaleY, 1.0f, scale);scaleYAnimator.setRepeatCount(ObjectAnimator.INFINITE);scaleYAnimator.setRepeatMode(ObjectAnimator.RESTART);scaleYAnimator.setStartDelay(i * animDelay);scaleYAnimator.setDuration(anim_duration);animatorList.add(scaleYAnimator);final ObjectAnimator alphaAnimator ObjectAnimator.ofFloat(rippleViewList.get(i), Alpha, 1.0f, 0f);alphaAnimator.setRepeatCount(ObjectAnimator.INFINITE);alphaAnimator.setRepeatMode(ObjectAnimator.RESTART);alphaAnimator.setStartDelay(i * animDelay);alphaAnimator.setDuration(anim_duration);animatorList.add(alphaAnimator);}animatorSet.playTogether(animatorList);}/*** 添加水波纹子view*/private void addChildView() {radius 32;animDelay350;rippleParamsnew FrameLayout.LayoutParams((int)(2*(radius)),(int)(2*(radius)));rippleParams.gravity Gravity.CENTER;for(int i0;iWateRipple rippleViewnew WateRipple(getContext(),paint);addView(rippleView,rippleParams);rippleViewList.add(rippleView);}}/*** 初始化画笔*/private void initPaint() {paint new Paint();paint.setAntiAlias(true);paint.setColor(rippleColor);paint.setStyle(Paint.Style.FILL);}/*** 开启动画*/public void startRippleAnimation(){if(!isRunning()){for(WateRipple wateRipple:rippleViewList){wateRipple.setVisibility(VISIBLE);}animatorSet.start();isAnimRunningtrue;}}/*** 动画停止运行*/public void stopAnimation(){if(isRunning()){animatorSet.cancel();isAnimRunningfalse;}}/*** 判断是否动画在运行* return*/public boolean isRunning(){return isAnimRunning;}/*** ui不可见时关闭动画* param visibility*/Overrideprotected void onWindowVisibilityChanged(int visibility) {super.onWindowVisibilityChanged(visibility);if(visibilityView.INVISIBLE||visibility View.GONE){stopAnimation();}}}每个水波纹viewpackage com.zhifubaoxiuyixiu.view;import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import android.view.View;/*** Created by admin on 2016/12/29.*/public class WateRipple extends View {private Paint mPaint;public WateRipple(Context context, Paint paint){super(context);if(paintnull){this.mPaint new Paint();}else{this.mPaint paint;}setVisibility(View.INVISIBLE);//刚开始设置不可见}public WateRipple(Context context) {super(context);}Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);int radius(Math.min(getWidth(),getHeight()))/2;canvas.drawCircle(radius,radius,radius,mPaint);}}圆形图片package com.zhifubaoxiuyixiu.view;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.BitmapShader;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.Shader;import android.graphics.drawable.ShapeDrawable;import android.graphics.drawable.shapes.OvalShape;import android.util.AttributeSet;import android.view.View;import com.zhifubaoxiuyixiu.R;/*** Created by admin on 2016/12/29.*/public class CircleView extends View {private BitmapShader bitmapShaderp ;private ShapeDrawable shapeDrawable;public CircleView(Context context) {this(context,null);}public CircleView(Context context, AttributeSet attrs) {this(context, attrs,0);}public CircleView(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);initBitmap();}private void initBitmap() {Bitmap bitmap BitmapFactory.decodeResource(getResources(), R.mipmap.grid);shapeDrawable new ShapeDrawable(new OvalShape());bitmapShaderp new BitmapShader(bitmap, Shader.TileMode.CLAMP,Shader.TileMode.CLAMP);shapeDrawable.getPaint().setShader(bitmapShaderp);}Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);shapeDrawable.setBounds(0,0,getWidth(),getHeight());shapeDrawable.draw(canvas);}}布局文件xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:idid/rootandroid:layout_width64dpandroid:layout_height64dpandroid:layout_centerInParenttrueandroid:idid/imageViewandroid:layout_gravitycenterandroid:srcmipmap/grid/使用package com.zhifubaoxiuyixiu;import android.app.Activity;import android.os.Bundle;import android.view.View;import com.zhifubaoxiuyixiu.view.CircleView;import com.zhifubaoxiuyixiu.view.ZhifubaoFrameLayout;public class MainActivity extends Activity {private CircleView imageView;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);imageView (CircleView) findViewById(R.id.imageView);final ZhifubaoFrameLayout root (ZhifubaoFrameLayout) findViewById(R.id.root);imageView.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View view) {root.startRippleAnimation();}});}}以上所述是小编给大家介绍的Android 自定义view仿支付宝咻一咻功能希望对大家有所帮助如果大家有任何疑问请给我留言小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持
http://wiki.neutronadmin.com/news/199389/

相关文章:

  • 建设银行办信用卡网站服务器与网站吗
  • 做网站税率佛山网红公寓
  • 做网站需要审核资质吗楼书设计素材网站
  • 冠县网站建设价格公司网络监控
  • 中国贸易网站深圳公共资源交易网
  • 制作公司网站wordpress相关文章推荐
  • 510企业网站系统源码南昌定制网站建设
  • 做网站行业怎么样烟台环保网站建设
  • 西安网站制作公司哪家好上海做家教去哪个网站
  • 云南建站图书馆网站建设公司
  • 北辰网站建设桓台网站开发
  • 宁波建设局网站郑建华国家高新技术企业认定的要求
  • 宁波网站建设主页成都市网站建设
  • 建设简单网站的图纸药类网站整站模板下载
  • 下沙做网站的农夫山泉vi设计手册
  • 苏州外贸营销网站建设装修平台排行榜
  • 有几个网站如何做外贸seo关键词查询排名软件
  • 腾讯风铃做的网站有期限吗最新商业资讯
  • 如何把网页做成响应式的seo推广软件下载
  • 如何做百度网站2017欧美做的爱爱网站
  • 企业智能网站后台管理系统上海 建网站
  • 网站过期后丰泰建设集团有限公司网站
  • 冠辰网站网站正在建设页面
  • 十大免费网站免费下载软件广州网站建设 易企建站
  • 网站建设技术指标wordpress先生
  • 好看的响应式网站福州建设网站效果图
  • 襄阳做网站seo查询
  • 网站app开发哪家好青海西宁网站建设
  • 如何开一个网站模仿网站属于侵权吗
  • 做网站虚拟主机配置网页设计作业保护动物