У меня есть ImageViews
в моем XML-файле. В моем разделе кода я хочу переместить изображение в соответствии с моим желанием. Для этого я сделал event.getx()
и event.getY()
, а затем воспользуюсь imageView.layout()
. Этот процесс не работает. Как я могу переместить это изображение?Как изменить положение ImageView
1
A
ответ
1
Я думаю, что это может помочь:
package com.example.moveimageview;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.view.Menu;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.ImageView;
import android.widget.RelativeLayout;
public class MainActivity extends Activity {
ImageView im;
RelativeLayout rl;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//getting the wrapper layout from the xml
rl = (RelativeLayout) findViewById(R.id.relative1);
//getting the ImageView from xml
im = (ImageView) findViewById(R.id.myImageView);
rl.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent e) {
// TODO Auto-generated method stub
if(e.getAction()==android.view.MotionEvent.ACTION_DOWN)
{
//sending the new coordinates to the method
//that will change the view's location
setImageViewLocation(e.getX(), e.getY());
return true;
}
return false;
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
private void setImageViewLocation(float x, float y)
{
//setting the coordinates
im.setX(x);
im.setY(y);
runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
im.invalidate();//invoking the view onDraw
}
});
}
}
(Edit) Если вы хотите, чтобы ваш ImageView вокруг, вот код onTouchListner для этого (тот же код, как и раньше просто заменить OnTouchListner с этим):
rl.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent e) {
// TODO Auto-generated method stub
if(e.getAction()==android.view.MotionEvent.ACTION_DOWN)
{
//sending the new coordinates to the method
//that will change the view's location
setImageViewLocation(e.getRawX(), e.getRawY());
return true;
}
if(e.getAction()==android.view.MotionEvent.ACTION_MOVE)
{
setImageViewLocation(e.getRawX(), e.getRawY());
return true;
}
return false;
}
});
Смежные вопросы
- 1. Android: Как изменить положение ImageView динамически?
- 2. Как сбросить положение ImageView?
- 3. Динамически меняет положение ImageView
- 4. Случайно заданное положение imageView
- 5. Как изменить положение ImageView без потери автоматической компоновки?
- 6. ImageView и заданное положение
- 7. Android: Фактическое положение ImageView
- 8. Anchor ImageView положение другому ImageView, который масштабируются
- 9. Как изменить изображение ImageView?
- 10. Изменить ImageView положение динамически не работает в Android
- 11. ImageView прыжок в исходное положение
- 12. ImageView меняет положение при вращении
- 13. Android использует неправильное положение imageView
- 14. Как получить положение изображения внутри ImageView?
- 15. Как сохранить положение перетаскиваемого ImageView в Android?
- 16. Как изменить положение UINavigationBar?
- 17. Как изменить положение UIButton?
- 18. Как изменить положение UITabBarItem?
- 19. Как изменить положение класса
- 20. Как изменить положение RadioGroup
- 21. Как изменить положение colorbox?
- 22. Как изменить положение ProgressDialog?
- 23. Как изменить положение UITableView?
- 24. Как изменить положение спрайта?
- 25. Как изменить положение подпорки
- 26. Как изменить положение ящиков?
- 27. Как изменить положение CKEditor?
- 28. изменить положение при нажатии кнопки?
- 29. Java ImageView получить положение и установить выравнивание
- 30. Изменить положение ручки SlidingDrawer
проверить этот вопрос http://stackoverflow.com/questions/7168770/how-to-place-views-in-a-specific-location-xy-coordinates – birdy