添加画布-Android

添加画布-Android,第1张

概述我用以下方法动态创建画布:Canvascanvas=newCanvas();但是如何将其添加到LinearLayout中呢?LinearLayoutll=newLinearLayout(this);解决方法:您可以使用简单的addView进行 *** 作,也可以执行更复杂的 *** 作(例如需要新线程进行图形绘制),然后可以使用自定义SurfaceView将

我用以下方法动态创建画布:

Canvas canvas = new Canvas();

但是如何将其添加到linearLayout中呢?

linearLayout ll = new linearLayout(this);

解决方法:

您可以使用简单的addVIEw进行 *** 作,也可以执行更复杂的 *** 作(例如需要新线程进行图形绘制),然后可以使用自定义SurfaceVIEw将其添加到xml布局中

    <com.util.MyDraw    androID:ID="@+ID/surfaceVIEw"     androID:layout_wIDth="fill_parent"    androID:layout_height="wrap_content"    androID:layout_margintop="10px"    androID:layout_marginleft="10px"    androID:layout_marginRight="10px"    androID:layout_below="@+ID/spinner1"    />

然后创建一个名为MyDraw的类,该类扩展了SurfaceVIEw,在其中可以调用Thread进行绘制.

package com.util;public class MyDraw extends SurfaceVIEw implements Callback {    private MyThread myThread;    private SurfaceHolder holder;    private Paint paint;    Path path;    public linkedList<Integer> List; {         List = new linkedList<Integer>();    }    public MyDraw(Context context) {        super(context);        holder = getHolder();        holder.addCallback(this);        paint = new Paint(Paint.ANTI_AliAS_FLAG);        paint.setStyle(Paint.Style.stroke);        paint.setstrokeWIDth(2);        paint.setcolor(color.GREEN);        path = new Path();    }    public voID surfaceCreated(SurfaceHolder holder) {        myThread = new MyThread(holder, this);        myThread.setFlag(true);        myThread.start();    }    public voID surfaceChanged(SurfaceHolder holder, int format, int wIDth, int height) {}    public voID surfaceDestroyed(SurfaceHolder holder) {        myThread.setFlag(false);    }    @OverrIDe    protected voID onDraw(Canvas canvas) {        path.rewind();        path.reset();        if (canvas != null) {            canvas.drawcolor(color.BLACK);            if (List != null && List.size() > 0) {                path.moveto(0, List.get(0));                int sec;                for(sec = 1; sec < List.size(); sec++) {                    path.lineto(sec, (List.get(sec)/divFactor));                }                canvas.drawPath(path, paint);            }    }}
总结

以上是内存溢出为你收集整理的添加画布-Android全部内容,希望文章能够帮你解决添加画布-Android所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1095618.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存