Home > Java, Mobile > Cách tạo hiệu ứng di chuyển cho Dialog trong android

Cách tạo hiệu ứng di chuyển cho Dialog trong android


Để tạo hiệu ứng cho dialog, chúng ta lần lượt tạo ra các file hiệu ứng sau:
+File grow_from_bottom.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
        <scale
                android:fromXScale="0.3" android:toXScale="1.0"
                android:fromYScale="0.3" android:toYScale="1.0"
                android:pivotX="50%" android:pivotY="100%"
                android:duration="@android:integer/config_shortAnimTime"
        />
        <alpha
                android:interpolator="@android:anim/decelerate_interpolator"
                android:fromAlpha="0.0" android:toAlpha="1.0"
                android:duration="@android:integer/config_shortAnimTime"
        />
</set>

+File grow_from_top.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
        <scale
                android:fromXScale="0.3" android:toXScale="1.0"
                android:fromYScale="0.3" android:toYScale="1.0"
                android:pivotX="50%" android:pivotY="0%"
                android:duration="@android:integer/config_shortAnimTime"
        />
        <alpha
                android:interpolator="@android:anim/decelerate_interpolator"
                android:fromAlpha="0.0" android:toAlpha="1.0"
                android:duration="@android:integer/config_shortAnimTime"
        />
</set>

Hai file trên nên để vào thư mục res/anim
Tiếp theo chúng ta tạo ra file style.xml nằm trong thư mục res/values

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
          <style name="Animations" />
         <style name="Animations.SmileWindow">
                <item name="@android:windowEnterAnimation">@anim/grow_from_bottom</item>
                <item name="@android:windowExitAnimation">@anim/grow_from_top</item>
        </style>

</resources>

Việc duy nhất còn lại là khi tạo dialog chúng ta sẽ thêm vào một thuộc tính cho nó như sau:

Dialog dlg = new Dialog(this);
dlg.getWindow().getAttributes().windowAnimations = R.style.Animations_SmileWindow;

Thưởng thức đi :))

Advertisements
Categories: Java, Mobile Tags: , ,
  1. tuan
    November 6, 2014 at 8:36 PM

    bạn ơi sao mình copy đoạn code trên nó báo lỗi vậy @@ cái file.xml đó

  2. November 6, 2014 at 9:47 PM

    Mình update lại rồi đó, chạy lại xem thử nghen.

  3. nguyentran
    February 9, 2015 at 10:45 PM

    anh oi, nhung tai sao em lam cai ham exit nhung khong thay animator the anh @@

  4. February 10, 2015 at 8:05 PM

    Chưa hiểu ý bạn muon hoi ?

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s

%d bloggers like this: