图片中的Android可点击区域

时间:2011-09-14 21:18:35

标签: android image clickable

我有一个人类的图像,我想播放不同的声音取决于是否在图像上点击了右手或左手,如果点击头部我会想要添加第三个声音,是否有一个简单的方法这样做?

2 个答案:

答案 0 :(得分:1)

我认为最好的方法是使用OnTouchEvent,并使用getX()和getY()。这可能有助于解释它更好

public boolean onTouch(View v, MotionEvent e) {
    // TODO Auto-generated method stub
    float x = e.getX();
    float y = e.getY(); 


    switch (e.getActionMasked()) {
    case MotionEvent.ACTION_DOWN:

        if (x > 1 & x < 200 & y > 1 & y < 200) {
            ///Pretty much, what the X and Y are, are coordinates. 
                         soundPool.play(PLAY SOUND 1, 10, 10, 1, 0, 1);
                            ///I Use soundPool, but you could use whatever


////I think you'll have to figure out where each of the coordinates are at to the corresponding
 ///body part. E.G if the hand lies between (X= 220 to 240 and Y= 120 to 140) then 
///simply say: **(x >220 & x<240 & y >120 & y <140)**



}
        if (x > 1 & x < 200 & y > 200 & y < 400) {
            soundPool.play(PLAY SOUND 2, 10, 10, 1, 0, 1);

/// this is just another example of another set of coordinates.
        }

        break;

此外,您应该实现OnTouchListener。显然,这只覆盖了代码的OnTouch部分,其余的应该是非常自我解释的(假设你有声音并查看)。 如果这有帮助,请告诉我。上帝保佑!

答案 1 :(得分:1)

将人物图像设置为布局的背景。 在人类图像上放置透明按钮,例如:在头部,左手/右手上,并为透明按钮添加按钮点击监听器。 在按钮单击监听器中播放您想要的声音。 这是一种更简单的方法。