【问题标题】:Android beginner:how to detect specific position on imageview in androidAndroid初学者:如何在android中检测imageview上的特定位置
【发布时间】:2012-05-28 05:12:32
【问题描述】:

我是 android 初学者。我想检测图像上的特定位置,所以我在相应的触摸上触发一个功能。不同的手机有不同的密度,所以我不能用作触发功能的像素。所以我在程序中选择了哪些选项。

【问题讨论】:

  • 你试过用百分比吗,xPercentage=(currentX/noOfPixelInWidth)*100, yPercentage=(currentY/noOfPixelsInHeight)*100

标签: android imageview touch-event


【解决方案1】:

使用 View.OnTouchListener:

yourView.setOnTouchListener(new View.OnTouchListener(){

    public boolean onTouch(View v, MotionEvent mE){ 
        switch (mE.getAction()){
            case MotionEvent.ACTION_DOWN:
                int positionTouchedX =  mE.getRawX();
                int positionTouchedY =  mE.getRawY();
        }
    }
}

这应该为您提供用户触摸屏幕的坐标。您可以使用 getResources 来获取您的可绘制大小或视图中使用的任何内容,以查找这些 x,y 坐标如何对应于图像上的位置。

【讨论】:

  • 但是如果移动的屏幕密度改变了那么就可以了
  • 根据屏幕密度图像会拉伸他自己,因此像素位置会改变......对于每个设备
  • 是的,这就是您为 ldpi、mdpi、hdpi 等指定不同图像的原因
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多