给定任何形状(实心圆形、星形、三角形、带有透明区域的位图等)我想知道是否可以(使用最新的 Android API)知道用户是否单击了视图或视图之外。
例如,如果我有一个圆形按钮,我想知道用户是否在圆圈内单击,而不是在圆圈外单击。
是否可以?
如果不是,也许我可以轮询触摸事件的像素,如果它是透明的,则忽略它,如果不是,则将其作为单击事件处理?
ImageView image=(ImageView) findViewById(R.id.imageView1);
image.setOnTouchListener(this);
Bitmap bitmap = ((BitmapDrawable)image.getDrawable()).getBitmap();
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
int pixel = bitmap.getPixel((int)event.getX(), (int)event.getY());
int alphaValue=Color.alpha(pixel);
return true;
}
这样你就可以获得所触摸像素的alpha值。现在您可以轻松检查触摸的像素是否透明。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)