Android,来自主要活动

Android,来自主要活动,第1张

概述我在主活动中创建了一个名为DrawView的自定义视图.我已经在DrawView类中实现了onDraw()方法,它最初绘制了一个圆.然后,我添加了一个触摸侦听器,以便用户单击时可以绘制一个正方形.我要负责用户单击并绘制正方形的部分.我不确定如何去做.publicclassTestActivityextendsActivi

我在主活动中创建了一个名为DrawVIEw的自定义视图.我已经在DrawVIEw类中实现了onDraw()方法,它最初绘制了一个圆.然后,我添加了一个触摸侦听器,以便用户单击时可以绘制一个正方形.我要负责用户单击并绘制正方形的部分.我不确定如何去做.

public class TestActivity extends Activity {    DrawVIEw drawing;    /** Called when the activity is first created. */    @OverrIDe    public voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.main);        VIEwGroup myLayout = (VIEwGroup) findVIEwByID(R.ID.mainLayout);        drawing = new DrawVIEw(this);        myLayout.addVIEw(drawing);          drawing.setontouchListener(new VIEw.OntouchListener() {            public boolean ontouch(VIEw v, MotionEvent event) {                if (event.getAction() == MotionEvent.ACTION_DOWN) {                    // draw a square                }                return true;            }        });    }    private class DrawVIEw extends VIEw {        public DrawVIEw(Context context) {            super(context);        }        protected voID onDraw(Canvas canvas) {            Paint myPaint = new Paint();            myPaint.setcolor(color.BLACK);            // draw a circle        }    }}

帮助将不胜感激.

解决方法:

这是在用户向下,向上和向上移动触摸侦听器时绘制矩形的简单片段,只需在DrawVIEw类中重写即可,而不是通过setontouchListener()

在DrawVIEw类中定义Rect r = new Rect()然后在DrawVIEw类中实现此代码后

public boolean ontouch(VIEw v, MotionEvent event) {   if (event.getAction() == MotionEvent.ACTION_DOWN) {      sx = event.getX();      sy = event.getY();      r.set(sx,sy,sx,sy);   }else if(event.getAction==MotionEvent.ACTION_UP){      r.set(sx,sy,event.getX(),event.getY());   }else if(event.getAction==MotionEvent.ACTION_MOVE){      r.set(sx,sy,event.getX(),event.getY());   }   invalIDate();   return true;

}

这是onDraw()

public voID onDraw(Canvas canvas){    super.onDraw(canvas);    canvas.drawRect(r, new Paint());}
总结

以上是内存溢出为你收集整理的Android,来自主要活动全部内容,希望文章能够帮你解决Android,来自主要活动所遇到的程序开发问题。

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

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

原文地址:https://54852.com/web/1072387.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存