zahra.mf
جمعه 13 شهریور 1394, 15:15 عصر
سلام من یه dialog دارم که میخوام وقتی کاربر روی یک button کلیک کرد این dialog از سمت چپ صفحه وارد بشه و هنگامی که روی دکمه back کلیک کرد از سمت راست به سمت چپ بره
من دوتا فایل anim به اسم in و out نوشتم که کدهای فایل in به این صورته
<?xml version="1.0" encoding="utf-8"?><translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="-500"
android:toXDelta="0"
android:duration="1000"
>
</translate>
و کدهای فایل out هم به این صورته
<?xml version="1.0" encoding="utf-8"?><translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="500"
android:duration="1000"
>
</translate>
و هر دوتا رو داخل یه style قرار دادم
<style name="dialog_anim"> <item name="android:windowEnterAnimation">@anim/in</item>
<item name="android:windowExitAnimation">@anim/out</item>
</style>
بعد داخل رویداد button به این صورت نوشتم
Button testDi = (Button)findViewById(id.mybutton);
testDi.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Dialog di = new Dialog(MainActivity.this);
di.requestWindowFeature(Window.FEATURE_NO_TITLE);
di.setContentView(layout.dialog_setting);
di.getWindow().getAttributes().windowAnimations = R.style.dialog_anim;
di.setCancelable(true);
di.show();
}
});
ولی این انیمیشن از سمت راست میاد و هر چی با پارامترای سرعتش کار میکنم تغییری نمیکنه تا یه کم سرعتش کمتر بشه
من دوتا فایل anim به اسم in و out نوشتم که کدهای فایل in به این صورته
<?xml version="1.0" encoding="utf-8"?><translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="-500"
android:toXDelta="0"
android:duration="1000"
>
</translate>
و کدهای فایل out هم به این صورته
<?xml version="1.0" encoding="utf-8"?><translate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="0"
android:toXDelta="500"
android:duration="1000"
>
</translate>
و هر دوتا رو داخل یه style قرار دادم
<style name="dialog_anim"> <item name="android:windowEnterAnimation">@anim/in</item>
<item name="android:windowExitAnimation">@anim/out</item>
</style>
بعد داخل رویداد button به این صورت نوشتم
Button testDi = (Button)findViewById(id.mybutton);
testDi.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Dialog di = new Dialog(MainActivity.this);
di.requestWindowFeature(Window.FEATURE_NO_TITLE);
di.setContentView(layout.dialog_setting);
di.getWindow().getAttributes().windowAnimations = R.style.dialog_anim;
di.setCancelable(true);
di.show();
}
});
ولی این انیمیشن از سمت راست میاد و هر چی با پارامترای سرعتش کار میکنم تغییری نمیکنه تا یه کم سرعتش کمتر بشه