Уже третий день бьюсь - не хватает мозгов/знаний Пытаюсь заставить imageView перемещаться по экрану (Animation не подходит ImageView должен быть кликабельным во время движения) Дальше кривой код который я написал ImageView перемещается но после 7 секундной паузы сразу в конечную точку. Помогите разобраться как сделать чтобы ImageView перемещался в каждом цикле (Визуально перемещался).
package bpk.light.app_1_0;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.Toast;
/**
* Created by Admin on 14.04.2017.
*/
public class FourActivity extends AppCompatActivity {
ImageView img1;
//int max = 10;
//int min = 0;
int i = 0;
int x;
Thread t;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_four);
//int x = (int)( Math.random()*(max-min)+min);
int x = 0;
Intent intent4 = getIntent();
String imgname = intent4.getStringExtra("imgname");
Toast toast = Toast.makeText(FourActivity.this, imgname, Toast.LENGTH_LONG);
toast.show();
switch (imgname) {
case "A=1":
img1 = (ImageView) findViewById(R.id.anim1);
break;
case "A=2":
img1 = (ImageView) findViewById(R.id.anim2);
break;
case "A=3":
img1 = (ImageView) findViewById(R.id.anim3);
break;
}
while (i <7) {
t = Thread.currentThread();
img1.setVisibility(View.VISIBLE);
FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
t = Thread.currentThread();
layoutParams.setMargins(x, x * 2, 0, 0);
img1.setLayoutParams(layoutParams);
x = x + 10;
i++;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
Попробуйте ViewPropertyAnimator
imageView.animate()
.translationX(0)
.translationY(0)
.setDuration(500)
.start();
Следовательно весь цикл нужно снести, вы занимаетесь не тем. Кол выше переместит View
в верхний левый угол экрана, так как там начало координат. Чтобы сдвинуть View
вправо на 10 пикселей нужно выставить .translationX(10)
, если влево то -10. Если вверх/вниз то аналогично с Y. Дерзайте!
Так же вы можете менять в цикле координаты через setX
и setY
.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Есть desktop приложение на java, делаю функцию сохраненияСмысл её будет сохранять n-e количество массивов, а после считывать их
Создайте программу-тест для проверки знаний таблицы умноженияС помощью случайных чисел создайте 5 примеров