2013-11-27 85 views
0

每次用户触摸Imageview(汽车图片)时,我都试图添加一个ImageView(一个符号),以便让用户指出汽车的损坏位置。然后,我将这些点发送到远程服务器,以便在再次打开活动时获得点数。它可以在设置点的特定设备中正常工作,但是如果使用其他设备的不同屏幕尺寸和分辨率获取点,显然这些符号不是正确的。 有没有什么办法可以缩放点和ImageView以使它成为可能?我的意思是,我怎么能这样做,如果你指出汽车前门/左门有损坏,那么在不同屏幕尺寸下运行应用程序时,符号总是存在?Android:添加视图。不同的屏幕尺寸和密度

代码I'm使用:

@Override 
     public boolean onTouch(View v, final MotionEvent event) { 
      if (event.getAction() == MotionEvent.ACTION_DOWN){ 
       final RelativeLayout urLayoutId=(RelativeLayout) findViewById(R.id.RelativeCoche); 
       final ImageView imv=new ImageView(MainActivity.this); 
        imv.setImageResource(R.drawable.info); 
     RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
        LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
        params.setMargins(Math.round(event.getX()), 
        Math.round(event.getY()), 0, 0); 
        imv.setLayoutParams(params); 
       return true; 
      } 
    }); 

回答

1

如果我理解正确的话你的问题,你想要做的是包括在相应的绘制-XXXX文件夹中的适当的密度不同的图像。查看link的最后一部分了解更多信息。

+0

你好艾曼纽,谢谢你的回答。恐怕我必须提高英语水平,所以我会说我需要的。我有一张汽车图片,我需要在汽车损坏的地方添加一个符号。它在我的设备中工作,并发送事件发生在远程服务器的de点。如果我尝试使用从手机发送的点数来绘制平板电脑中的符号,则表示它们没有位于正确的位置,因为汽车的图像和屏幕尺寸较大。我希望现在让我明白好多了。对不起,再次形成我的英语,并提前谢谢你。 –

+0

我仍然认为你需要将你的图像的不同副本放在相应的可绘制文件夹中。例如,如果您的目标是hdpi设备,则需要将图片放置在drawable-hdpi文件夹中。然后,当您调用R.drawable.my_image时,系统将自动选择该图像的版本。 – Emmanuel