2015-06-17 2 views
0
ImageView currentImage = (ImageView) findViewById(R.id.image) ; 
onTouch(View v, MotionEvent event){ 
if(event.getAction() == MotionEvent.ACTION_DOWN){ 
    float x = event.getX() ; 
    float y = event.getY(); 
    currentImage.setX(x) ; 
    currentImage.setY(y) ; 
    //the 2 lines above must be dragging the image across the screen 
} 


if(event.getAction() == MotionEvent.ACTION_UP){ 
    currentImage.setX(x) ; 
    currentImage.setY(y) ; 
} 

}Как нажать и перетащить и оставить ImageView где я неопрессованный палец? [Android]

Однако код не работает, это ближе всего я мог придумать.

+0

Вы нашли решение для этого? – Sree

ответ

1

Для всего ниже Honeycomb (уровень API 11), вы должны будете использовать setLayoutParams(): -

Если superLayout является RelativeLayout-

RelativeLayout.LayoutParams layoutParams=new RelativeLayout.LayoutParams(int width, int height); 
    layoutParams.setMargins(int left, int top, int right, int bottom); 
    imageView.setLayoutParams(layoutParams); 

Если superLayout является Linearlayout-

Linearlayout.LayoutParams layoutParams=new Linearlayout.LayoutParams(int width, int height); 
    layoutParams.setMargins(int left, int top, int right, int bottom); 
    imageView.setLayoutParams(layoutParams); 

И Если вы ограничите поддержку Honeycomb и вы можете использовать setX(), setY(), setLeft(), setTop()

+0

i m using api22 - последнее, почему я думаю о чем-то ниже api 11? можете ли вы дать более релевантный совет? – ERJAN

 Смежные вопросы

  • Нет связанных вопросов^_^