Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android图像最佳实践_Java_Android_Performance - Fatal编程技术网

Java Android图像最佳实践

Java Android图像最佳实践,java,android,performance,Java,Android,Performance,我没有具体的问题,我只是在寻找一般的最佳实践信息 在我的应用程序中,我使用自定义视图来绘制移动的特定项目以及不移动的项目。但是,我确实有需要用户触摸的项目 我现在的情况是,自定义视图占据了整个屏幕。所有的图像都用画布绘制成位图。然后我实现了一个onTouch方法。ontouch方法本质上是将x和y变量传递给我的自定义处理程序 我的自定义处理程序会检查我绘制的所有位图的上下限,以确定用户是否触摸了位图 从字面上看,这就像 touchX = 10 touchY = 10 if(touchX >

我没有具体的问题,我只是在寻找一般的最佳实践信息

在我的应用程序中,我使用自定义视图来绘制移动的特定项目以及不移动的项目。但是,我确实有需要用户触摸的项目

我现在的情况是,自定义视图占据了整个屏幕。所有的图像都用画布绘制成位图。然后我实现了一个onTouch方法。ontouch方法本质上是将x和y变量传递给我的自定义处理程序

我的自定义处理程序会检查我绘制的所有位图的上下限,以确定用户是否触摸了位图

从字面上看,这就像

touchX = 10
touchY = 10

if(touchX > bitmap.x && touchX < bitmap.x + bitmap.size && touchY > bitmap.y && touchY >     bitmap.y + bitmap>size)
{
     image was touched
}
touchX=10
touchY=10
if(touchX>bitmap.x&&touchXbitmap.y&&touchY>bitmap.y+bitmap>size)
{
图像被触动了
}
逻辑可能不正确,但这不是问题所在

这样做吗?或者我应该实现特定的android布局,并将用于绘制的自定义视图嵌入到不同的布局中,然后像使用相对布局一样在其中使用ImageView,并设置ontouch侦听器


感谢您的见解。

听起来可能很简单,但如果您正在创建自己的视图,您不能扩展视图,只需使用某种类型的onTouch侦听器吗?这似乎是一个简单而优雅的方法,这就是我目前正在使用的方法。我的视图有一个onTouch监听器,在这个onTouch方法中,我通过检查图像的边界来特别检查我绘制的每个图像是否被触摸。我只是想知道这是不是一种方法,或者我应该使用imageview并为每个图像设置特定的侦听器。有了这些,我认为您不能在自定义视图中使用imageview。您必须使用android特定的布局,如相对布局或网格布局。我想,我可能错了简短的“答案”:阅读Android开发者培训网站:。这一部分特别适用于你的问题:Android有一个
Rect
类,它有方便的
包含(intx,inty)
intrecect(Rect r)
方法。