Я добавил ImageView к моему LinearLayout в методе onCreate программно, и он работал как надо.
img = new ImageView(this);
img.setImageResource(R.drawable.source);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.setMargins(0, 50, 0, 0);
img.setLayoutParams(params);
layout = (LinearLayout) findViewById(R.id.index_view);
layout.addView(img);
И я хочу изменить координаты x и y, когда пользователь касается экрана.
Метод onTouch — случай ACTION_MOVE:
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.setMargins(newX, newY, 0, 0);
img.setLayoutParams(params);
newX и newY рассчитываются на основе сенсорных координат пользователей
Но этот код, похоже, работает неправильно. Я создал тосты, чтобы показать мне ширину изображения после каждого касания, и он показал мне, что после первого касания ширина устанавливается на ноль. Это говорит мне: ImageView исчез.
Есть предположения?