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