android – 如何在ImageView上绘制

android – 如何在ImageView上绘制,第1张

概述为什么此代码不会绘制用户在图像视图中触摸并将坐标输出到textview的圆圈? package com.smallbore.smallbore;import android.app.Activity;import android.content.Context;import android.graphics.Canvas;import android.os.Bundle;import 为什么此代码不会绘制用户在图像视图中触摸并将坐标输出到textvIEw的圆圈?

package com.smallbore.smallbore;import androID.app.Activity;import androID.content.Context;import androID.graphics.Canvas;import androID.os.Bundle;import androID.vIEw.MotionEvent;import androID.Widget.ImageVIEw;import androID.Widget.TextVIEw;public class targetenter extends Activity {    @OverrIDe    public voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.targetenter);    }   public class ImageVIEw1 extends ImageVIEw {        public int x;        public int y;        public ImageVIEw1(Context context) {            super(context);            // Todo auto-generated constructor stub        }        public boolean dispatchtouchevent(MotionEvent event){            x = (int) event.getX();            y = (int) event.getY();            TextVIEw t1 = (TextVIEw)findVIEwByID(R.ID.textVIEw2);            t1.setText("x="+x);            TextVIEw t2 = (TextVIEw)findVIEwByID(R.ID.textVIEw3);            t2.setText("y="+y);            invalIDate();            return true;        }        @OverrIDe        public voID onDraw(Canvas canvas){            super.onDraw(canvas);            canvas.drawCircle(x,y,10,null );    }}}

和xml:

<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:orIEntation="vertical" androID:ID="@+ID/linearLayout1" androID:layout_height="fill_parent" androID:layout_wIDth="fill_parent">    <TextVIEw androID:layout_height="wrap_content" androID:text="@string/cposition" androID:ID="@+ID/textVIEw1" androID:layout_wIDth="wrap_content"></TextVIEw>    <com.smallbore.smallbore.targetenter.ImagevIEw1 androID:ID="@+ID/imageVIEw1" androID:layout_wIDth="300dip" androID:layout_height="300dip" androID:background="@drawable/target" androID:layout_gravity="center_horizontal"></com.smallbore.smallbore.targetenter.ImagevIEw1>    <TextVIEw androID:text="TextVIEw" androID:ID="@+ID/textVIEw2" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content"></TextVIEw>    <TextVIEw androID:text="TextVIEw" androID:ID="@+ID/textVIEw3" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content"></TextVIEw></linearLayout>
解决方法 将ontouchEvent更改为 dispatchTouchEvent.此外,请确保在XML中使用imageVIEw1,而不仅仅是ImageVIEw. 总结

以上是内存溢出为你收集整理的android – 如何在ImageView上绘制全部内容,希望文章能够帮你解决android – 如何在ImageView上绘制所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存