我正在使用Android Studio 3开发一个应用程序。此应用程序具有平面图图像和其上方的网格。两者都通过https://github.com/chrisbanes/PhotoView与Canvas一起添加到PhotoView中。
方案1:没有放大, 当用户单击网格的一个单元格时,单击的单元格将被涂成黑色。没问题。
方案2:放大后, 当用户单击网格中的一个单元格时,该单元格将被涂成黑色,但与其他单元格不同,而不是单击的单元格。
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
int column = (int) (event.getX() / cellWidth);
int row = (int) (event.getY() / cellHeight);
if (column < numColumns && row < numRows) {
cellChecked[column][row] = !cellChecked[column][row];
drawGrid();
}
}
return false;
}
因此,问题出在方案2上。在放大PhotoView后,单击的单元格应该涂成黑色。