Wednesday, October 4, 2017

Tạo hiệu ứng lúc lắc cho view

Bạn muốn một view nhữ chữ, ảnh, hay nút bấm lúc lắc như bệp bênh tại vị trí của nó.
Giả sử đó là nút bấm, ta thêm các dòng sau xuống dưới findViewByid.
final RotateAnimation rotate = new RotateAnimation(-10, 10, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
rotate.setDuration(100);
rotate.setInterpolator(new LinearInterpolator());
rotate.setFillAfter(true);
rotate.setRepeatMode(Animation.REVERSE);         
rotate.setRepeatCount(Animation.INFINITE);        button.startAnimation(rotate);
Nếu muốn nó chỉ lúc lắc một số lần nhất định, bạn đổi dòng setRepeatCount thành:
rotate.setRepeatCount(10);
Còn một cách nữa, trong thư mục drawable hãy tạo một file xml có tên luclac.
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="100"
    android:fromDegrees="-5"
    android:pivotX="50%"
    android:pivotY="50%"
    android:repeatCount="10"
    android:repeatMode="reverse"
    android:toDegrees="5" />
Trong  code thêm dòng sau.
Animation lac = AnimationUtils.loadAnimation(this, R.drawable.luclac);
image.startAnimation(lac);
Muốn tăng thời gian thì tăng giá trị repeatCount lên là được.


No comments:

Post a Comment