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

无锡网站制作选哪家网站开发就业外部威胁

无锡网站制作选哪家,网站开发就业外部威胁,电商网站会员体制怎么做,网站开发报价 福州实现了一个有趣的小东西#xff1a;使用自定义view绘图#xff0c;一边画线#xff0c;画出的线条渐渐变淡#xff0c;直到消失。效果如下图所示#xff1a;用属性动画或者渐变填充(shader)可以做到一笔一笔的变化#xff0c;但要想一笔渐变(手指不抬起边画边渐隐)#…实现了一个有趣的小东西使用自定义view绘图一边画线画出的线条渐渐变淡直到消失。效果如下图所示用属性动画或者渐变填充(shader)可以做到一笔一笔的变化但要想一笔渐变(手指不抬起边画边渐隐)没在android中找到现成的api可用。所以自己做了一个。基本的想法是这样的•在view的ontouchevent中记录触摸点生成一条一条的线lineelement放在一个list中。给每个lineelement配置一个paint实例。•在ondraw中绘制线段。•变换lineelement的paint实例的alpha值。•根据alpha值重组线段列表别的不说了上代码package com.example.disappearinglines;import android.content.context;import android.graphics.canvas;import android.graphics.paint;import android.graphics.path;import android.graphics.rectf;import android.os.handler;import android.os.message;import android.os.systemclock;import android.support.annotation.nonnull;import android.util.attributeset;import android.util.log;import android.view.motionevent;import android.view.view;import java.util.arraylist;import java.util.collection;import java.util.iterator;import java.util.list;import java.util.listiterator;public class disappearingdoodleview extends view {final static string tag doodleview;class lineelement {static final public int alpha_step 5;static final public int subpath_dimension 8;public lineelement(){mpaint new paint();mpaint.setargb(255, 255, 0, 0);mpaint.setantialias(true);mpaint.setstrokewidth(16);mpaint.setstrokecap(paint.cap.butt);mpaint.setstyle(paint.style.stroke);}public lineelement(paint paint){mpaint paint;}public void setpaint(paint paint){mpaint paint;}public void setalpha(int alpha){mpaint.setalpha(alpha);}public float mstartx -1;public float mstarty -1;public float mendx -1;public float mendy -1;public paint mpaint;}private lineelement mcurrentline null;private list mlines null;private long melapsed 0;private handler mhandler new handler(){overridepublic void handlemessage(message msg){disappearingdoodleview.this.invalidate();}};public disappearingdoodleview(context context){super(context);}public disappearingdoodleview(context context, attributeset attrs){super(context, attrs);}overrideprotected void ondraw(canvas canvas){melapsed systemclock.elapsedrealtime();if(mlines ! null) {for (lineelement e : mlines) {if(e.mstartx 0 || e.mendy 0) continue;canvas.drawline(e.mstartx, e.mstarty, e.mendx, e.mendy, e.mpaint);}compactpaths();}}overridepublic boolean ontouchevent(motionevent event){float x event.getx();float y event.gety();int action event.getaction();if(action motionevent.action_up){// end one line after finger releasemcurrentline.mendx x;mcurrentline.mendy y;mcurrentline null;invalidate();return true;}if(action motionevent.action_down){mcurrentline new lineelement();addtopaths(mcurrentline);mcurrentline.mstartx x;mcurrentline.mstarty y;return true;}if(action motionevent.action_move) {mcurrentline.mendx x;mcurrentline.mendy y;mcurrentline new lineelement();addtopaths(mcurrentline);mcurrentline.mstartx x;mcurrentline.mstarty y;}if(mhandler.hasmessages(1)){mhandler.removemessages(1);}message msg new message();msg.what 1;mhandler.sendmessagedelayed(msg, 0);return true;}private void addtopaths(lineelement element){if(mlines null) {mlines new arraylist() ;}mlines.add(element);}public void compactpaths(){int size mlines.size();int index size - 1;if(size 0) return;int basealpha 255 - lineelement.alpha_step;int itselfalpha;lineelement line;for(; index 0 ; index--, basealpha - lineelement.alpha_step){line mlines.get(index);itselfalpha line.mpaint.getalpha();if(itselfalpha 255){if(basealpha 0){index;break;}line.setalpha(basealpha);}else{itselfalpha - lineelement.alpha_step;if(itselfalpha 0){index;break;}line.setalpha(itselfalpha);}}if(index size){// all sub-path should disappearmlines null;}else if(index 0){//log.i(tag, compactpaths from index to (size - 1));mlines mlines.sublist(index, size);}else{// no sub-path should disappear}long interval 40 - systemclock.elapsedrealtime() melapsed;if(interval 0) interval 0;message msg new message();msg.what 1;mhandler.sendmessagedelayed(msg, interval);}}这个示例还可以添加一些效果比如让线条一边变淡一边变细。目前还有一些问题线条粗的话可以明显看到线段与线段之间有缝隙或裂口哪位想到怎么优化以上就是本文的全部内容希望对大家的学习有所帮助也希望大家多多支持萬仟网。
http://www.pierceye.com/news/850143/

相关文章:

  • 北湖区网站建设公司企业主题wordpress 含演示数据
  • 网站建设简历自我评价做招聘信息的网站有哪些内容
  • 怎么和其它网站做友情链接网络营销师证怎么考
  • 百度推广要自己做网站吗做的视频传到哪个网站好
  • 个人建设门户网站 如何备案网站推广服务报价表
  • 广州企业网站建设哪家服务好西安家政公司网站建设
  • 住房与城乡建设部网站 黑龙江wordpress 采集系统
  • 阜阳网站建设云平台玉溪建设局门户网站
  • 网站建设什么原因最主要怎么制作网站首页
  • 网站建设深圳赶集网网页设计工程师工资
  • 哪家企业网站建设好闵行区网站制作
  • 重庆行业网站建设陕西省建设监理协会查询官方网站
  • 手机网站 尺寸网站规划的认识
  • 永川网站制作联系电话wordpress 参数 传递
  • 西宁市网站建设高端网站开发人员要求
  • 前端做商城网站需要多久yum wordpress
  • 便宜网站建设成都免费建网站视频教程
  • 班级网站自助建设功能没有充值入口的传奇
  • 杭州网站seo免费网站建设
  • 好看的网站设计网站开发龙岗网站建设
  • 物流如何做网站wordpress qq互联插件
  • 权威发布李建济南做seo排名
  • 六安网站建设 220广州安尔捷做的网站好吗
  • 企业网站写好如何发布wordpress免插件生成地图
  • 公司 网站 苏州链接下载
  • 网站页面设计素材网站做权重的方法
  • 网站优化标题怎么做宿迁房产网备案查询
  • 建设企业官方网站的流程秦皇岛网站备案
  • 北京网站优化前景建设银行包头分行网站
  • 南京江宁区住房建设局网站电商交流平台有哪些