android DialogFragment添加动画

来源:互联网 发布:易语言网络爬虫 编辑:程序博客网 时间:2024/06/05 14:58

DialogFragment

官方推荐,采用DialogFragment建立模态框

实例

  • fragment
        AlertDialog dialog= new AlertDialog.Builder(getActivity())                    .setView(v)                    .setTitle(R.string.date_picker_title)                    .setPositiveButton(android.R.string.ok,                            new DialogInterface.OnClickListener() {                                @Override                                public void onClick(DialogInterface dialog, int which) {                                    int year = mDatePicker.getYear();                                    int month = mDatePicker.getMonth();                                    int day = mDatePicker.getDayOfMonth();                                    Date date = new GregorianCalendar(year, month, day).getTime();                                    sendResult(Activity.RESULT_OK, date);                                }                    })                    .create();  Window window=dialog.getWindow();        window.setGravity(Gravity.CENTER);        window.setWindowAnimations(R.style.dialogAnim);
  • styles.xml
    <style name="dialogAnim" mce_bogus="1" parent="android:Animation">        <item name="android:windowEnterAnimation">@anim/dialog_push_in</item>        <item name="android:windowExitAnimation">@anim/dialog_push_out</item>    </style>
  • anim 文件

     1.dialog_push_in.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">    <translate        android:duration="@android:integer/config_mediumAnimTime"        android:fromYDelta="100%p"        android:toYDelta="0%p" />    <alpha        android:duration="@android:integer/config_mediumAnimTime"        android:fromAlpha="0.0"        android:toAlpha="1.0" /></set>

     2.dialog_push_out.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android">    <translate        android:duration="@android:integer/config_mediumAnimTime"        android:fromYDelta="0%p"        android:toYDelta="100%p" />    <alpha        android:duration="@android:integer/config_mediumAnimTime"        android:fromAlpha="1.0"        android:toAlpha="0.3" /></set>
0 0
原创粉丝点击