我已经创建了一个画布在android和里面,我有多个位图images.not我想让这些图像点击能够。可点击的图像内的画布
我曾尝试下面的事情至今..
我试图在图像视图中添加位图作为ImageView的有setOnClickListner 但我认为ImageView的不能添加到画布,所以我放弃了这个想法。因为即使Bitmap本身也没有点击事件。
我已经创建了一个画布在android和里面,我有多个位图images.not我想让这些图像点击能够。可点击的图像内的画布
我曾尝试下面的事情至今..
我试图在图像视图中添加位图作为ImageView的有setOnClickListner 但我认为ImageView的不能添加到画布,所以我放弃了这个想法。因为即使Bitmap本身也没有点击事件。
如果你想使用画布,请记住它是一个低级别的绘图机制。
因此,您需要自己实现点击逻辑。
您还必须保持所有图像的坐标和相应的onClickListeners在内存中的某处。
其他解决方案:
使用布局,可能是一个RelativeLayout的,在其中添加ImageViews儿童。
我相信你问类似的东西:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background"
android:orientation="vertical" >
<ImageView
android:id="@+id/clickable_image"
android:src="@drawable/ic_image"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:clickable="true"
/>
</LinearLayout>
现在,你有你的背景“设置整个视图作为壁纸”在你自己的话,然后你有你的形象,这是点击。在你的代码中,你实现了onClickListener,并将它附加到你的ImageView,它会做你想做的任何事情。
哦,这是一个相当繁琐的过程,你有任何替代解决方案吗? – Hunt 2010-10-13 13:10:56
如果我会用你的方法去,那么我将如何得到/计算画布内图像的边界框? – Hunt 2010-10-13 17:22:25
是的,这是一个繁琐的过程。按照这个过程,你从头开始编写自定义视图。 例如,您可以测量每个添加图像的边界框并将其存储在ArrayList中。 还有另一种解决方案,我编辑了答案。 – 2010-10-14 07:39:39