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

亚马逊品牌网站怎么做平台商城网站建设

亚马逊品牌网站怎么做,平台商城网站建设,公司网站谁负责做,网站可信认证对企业有哪些优势最近准备技能大赛#xff0c;需要将从传感器中读出的数据在移动客户端以图的形式绘制出来#xff0c;因为平时很少绘图#xff0c;于是各种查资料#xff0c;算是勉强做出来了。 以下是大赛理论效果图#xff08;左#xff09;和实际效果图#xff08;右#xff09;需要将从传感器中读出的数据在移动客户端以图的形式绘制出来因为平时很少绘图于是各种查资料算是勉强做出来了。 以下是大赛理论效果图左和实际效果图右真的是理想很丰满现实很骨感啊         制作的整体思路 创建一个继承与View类自定义类自定义类覆盖其中的onDraw()方法在MainActivity中invalidate()方法来调用onDraw方法来进行图形的重绘.  绘制一个基本表 注意代码中使用了变量 1、绘制矩形      Paint paint new Paint();paint.setColor(Color.BLACK);paint.setStyle(Paint.Style.STROKE);Rect chartRec new Rect(OFFSET_LEFT, OFFSET_TOP, CHARTW OFFSET_LEFT,CHARTH OFFSET_TOP);canvas.drawRect(chartRec, paint); 2、绘制左侧数值标记 canvas.drawText(100, OFFSET_LEFT - TEXT_OFFSET - 15, OFFSET_TOP 5,paint);for (int i 9; i 0; i--) {canvas.drawText( 10 * (10 - i), OFFSET_LEFT - TEXT_OFFSET - 15,OFFSET_TOP CHARTH / 10 * i, paint);}canvas.drawText(0, OFFSET_LEFT - TEXT_OFFSET - 10, OFFSET_TOP CHARTH, paint); 3、绘制虚线 DashPathEffect是PathEffect类的一个子类,可以使paint画出类似虚线的样子,并且可以任意指定虚实的排列方式。 代码中的float数组,必须是偶数长度,且2,指定了多少长度的实线之后再画多少长度的空白. 如本代码中,绘制长度2的实线,再绘制长度2的空白,再绘制长度2的实线,再绘制长度2的空白,依次重复.1是偏移量 PathEffect effects new DashPathEffect(new float[] { 2, 2, 2, 2 }, 1); 这样一个基本的表格绘制完成。     动态改变界面的方法 Handler handlernew Handler(); Runnable runnablenew Runnable(){Overridepublic void run() {// TODO Auto-generated method stub//要做的事情handler.postDelayed(this, 1000);} };  在这里我们采用消息传递机制中Handler的postDelayed(Runnable, long) 方法做定时器每隔一秒钟发送一次Runnable对象该对象最后将会被封装成Message对象执行一次子线程中的操作。   最后贴上所有代码 main.xml ?xml version1.0 encodingutf-8? LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationvertical LinearLayoutandroid:idid/rootandroid:orientation verticalandroid:layout_widthfill_parentandroid:layout_heightfill_parent/LinearLayout/LinearLayout MainActivity.class public class MainActivity extends Activity {private Handler handler;private DrawTest dtest;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);init();}private void init() {LinearLayout layout (LinearLayout) findViewById(R.id.root);dtest new DrawTest(this);dtest.invalidate();layout.addView(dtest);handler new Handler();handler.post(new Runnable() {Overridepublic void run() {dtest.invalidate();handler.postDelayed(this, 2000);}});}} DrawTest.class public class DrawTest extends View {private int CHARTH 600;//表格的高private int CHARTW 400;//表格的宽private int OFFSET_LEFT 70;//距离左边界距离private int OFFSET_TOP 80;//距离右边界距离private int TEXT_OFFSET 20;//文本距离设置private int X_INTERVAL 20;//X坐标间隔距离private ListPoint plist;//点集合public DrawTest(Context context) {super(context);plist new ArrayListPoint();}Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);drawTable(canvas);preparePoint();drawPoint(canvas);}/*** 绘制表* param canvas*/private void drawTable(Canvas canvas) {Paint paint new Paint();paint.setColor(Color.BLACK);paint.setStyle(Paint.Style.STROKE);Rect chartRec new Rect(OFFSET_LEFT, OFFSET_TOP, CHARTW OFFSET_LEFT,CHARTH OFFSET_TOP);canvas.drawRect(chartRec, paint);Path textPath new Path();// 选择一块区域准备写文字“曲线图测试”paint.setStyle(Paint.Style.FILL);textPath.moveTo(200, 30);// 区域开始textPath.lineTo(400, 30);// 区域结束paint.setTextSize(20);paint.setAntiAlias(true);// 指定是否使用抗锯齿功能会消耗较大资源绘制图形速度会变慢。canvas.drawTextOnPath(曲线图测试, textPath, 0, 0, paint);// 左侧数值标记canvas.drawText(100, OFFSET_LEFT - TEXT_OFFSET - 15, OFFSET_TOP 5,paint);for (int i 9; i 0; i--) {canvas.drawText( 10 * (10 - i), OFFSET_LEFT - TEXT_OFFSET - 15,OFFSET_TOP CHARTH / 10 * i, paint);}canvas.drawText(0, OFFSET_LEFT - TEXT_OFFSET - 10, OFFSET_TOP CHARTH, paint);// 绘制虚线Path path new Path();/*** PathEffect是用来控制绘制轮廓(线条)的方式。* DashPathEffect是PathEffect类的一个子类,可以使paint画出类似虚线的样子,并且可以任意指定虚实的排列方式.* 代码中的float数组,必须是偶数长度,且2,指定了多少长度的实线之后再画多少长度的空白.* 如本代码中,绘制长度2的实线,再绘制长度2的空白,再绘制长度2的实线,再绘制长度2的空白,依次重复.1是偏移量,*/PathEffect effects new DashPathEffect(new float[] { 2, 2, 2, 2 }, 1);paint.setStyle(Paint.Style.STROKE);paint.setAntiAlias(false);paint.setPathEffect(effects);// 用于设置绘制路径时的路径效果如点划线。for (int i 1; i 10; i) {path.moveTo(OFFSET_LEFT, OFFSET_TOP CHARTH / 10 * i);path.lineTo(OFFSET_LEFT CHARTW, OFFSET_TOP CHARTH / 10 * i);canvas.drawPath(path, paint);}}/*** 准备绘制点*/private void preparePoint() {//设置点的Y坐标为30-40int py (CHARTH/10)*6OFFSET_TOP (int) Math.rint((Math.random() * (CHARTH/10)));Point p new Point(OFFSET_LEFT CHARTW, py);if (plist.size() 21) {plist.remove(0);//控制点的个数//改变每一个点的X坐标for (int i 0; i 20; i) {if (i 0)plist.get(i).x - (X_INTERVAL - 2);elseplist.get(i).x - X_INTERVAL;}plist.add(p);} else {for (int i 0; i plist.size() - 1; i) {plist.get(i).x - X_INTERVAL;}plist.add(p);}}/*** 绘制点* * param canvas*/private void drawPoint(Canvas canvas) {Paint paint new Paint();paint.setColor(Color.BLACK);paint.setStrokeWidth(3);// 设置笔触的宽度if (plist.size() 2) {for (int i 0; i plist.size() - 1; i) {canvas.drawPoint(plist.get(i).x, plist.get(i).y, paint);}}} }  【注:invalidate ()和postInvalidate方法的选择:文档中已经写的很清楚了如果要使用invalidate()必须要在UI主线程当中如果不在UI主线程中就要去调用postInValidate()】 如果大家有什么更好的方法或该文中有什么不足希望大家指点。 Demo下载http://download.csdn.net/detail/af74776/7440807转载于:https://www.cnblogs.com/scetopcsa/p/3765719.html
http://www.yutouwan.com/news/221304/

相关文章:

  • 最容易做流量的网站做网站需要看什么书
  • 自己弄个网站要多少钱怎么编写一个网页
  • 免费网站建设平台南宁定制网站制作电话
  • 7网站建设1南宁本地网站有哪些?
  • 青岛做视频的网站照片视频制作
  • 数码产品网站建设计划书wordpress如何本地安装插件
  • 泰安网站建设最好深圳网站建设推广方法
  • 加强网站功能建设南平网站怎么做seo
  • 要注册一家公司需要什么条件广州seo建站
  • 郑州建设公司网站python wordpress
  • 网络营销网站建设诊断报告wordpress 评论框样式
  • html5农业网站模板有赞微商城入口
  • 网站维护中是什么意思做网站放广告收益
  • 惠阳开发网站建设提升学历的学校
  • 源码网站取名汾阳今天重大新闻
  • 设计网站公司湖南岚鸿公司惠东县网站建设
  • 网站建设方案书原件鞋设计师之家官网
  • 如何做网站方案合肥市建设网
  • 抓取网站后台阿里巴巴国际站开店流程及费用
  • 网站建设百家号html网站底部导航栏怎么做
  • 如何破解网站后台密码企业网站设计的基本内容包括哪些
  • 网站设计成功案例银行营销案例100例
  • 第三方编辑网站怎么做wordpress 柚子皮下载
  • 青岛国家高新区建设局网站淄博建网站多少钱
  • 企业网站优化分为两个方向冠县建设局网站
  • 做外贸接私单的网站在线装修设计软件
  • 网站搜索显示图片生物科技公司网站建设
  • 护肤品网站模板正规推广平台有哪些
  • 房产建设网站设计汽车网站
  • 网站的优势与不足挂机软件定制