android 自定义dialog 带动画的
2015-09-15 16:43
671 查看
自定义dialog 带动画, 网上有些动画是用到ObjectAnimator 但是这是api11 以上才有的 2.3 系统用不了 要用还要用兼容包. 麻烦 我就写了xml文件 做了一个动画.
l总是习惯性的 ctrl+ s 忘记这是网页了…
//这个是对话框工具类package com.example.mydialog; import android.app.Activity; import android.app.Dialog; import android.content.Context; import android.util.DisplayMetrics; import android.view.Display; import android.view.LayoutInflater; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.widget.ImageView; import android.widget.TextView; public class FlowerDialogUtil { /**a * Create Dialog with Layout and theme * * @param context * Context * @param layoutId * Layout ID * @return Dialog */ public Dialog createDialog(Activity context, int layoutId, int themeId) { Dialog ret; ret = new Dialog(context, themeId); ret.setContentView(layoutId); ret.setCancelable(true); return ret; } /** * 登录送花对话框 * * @param context * @return */ public void showFlowerLoginDialog(Activity activity,String content) { Dialog ret; ret = new Dialog(activity,R.style.blend_theme_dialog); ret.setContentView(R.layout.dialog_item); TextView dialog_content = (TextView) ret.findViewById(R.id.dialog_tv); dialog_content.setText(content); ret.setCancelable(true); ret.show(); } }
//这个是调用 package com.example.mydialog; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity { private FlowerDialogUtil dialog; Button button1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); dialog= new FlowerDialogUtil(); button1 = (Button) findViewById(R.id.button1); button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { FlowerDialogUtil dialog = new FlowerDialogUtil(); dialog.showFlowerLoginDialog(MainActivity.this,"啊发的发打发的司法的司法"); } }); } }
<?xml version="1.0" encoding="utf-8"?> <!-- 弹出时动画 --> <set xmlns:android="http://schemas.android.com/apk/res/android"> <scale android:interpolator="@android:anim/accelerate_interpolator" android:fromXScale="0.0" android:toXScale="1.0" android:fromYScale="0.0" android:toYScale="1.0" android:pivotX="50%" android:pivotY="50%" android:fillAfter="false" android:duration="400"/> </set> <?xml version="1.0" encoding="utf-8"?> <!-- 退出时动画效果 --> <set xmlns:android="http://schemas.android.com/apk/res/android" > <scale android:duration="400" android:fillAfter="false" android:fromXScale="1.0" android:fromYScale="1.0" android:interpolator="@android:anim/accelerate_interpolator" android:pivotX="50%" android:pivotY="50%" android:toXScale="0.0" android:toYScale="0.0" /> </set>
这是主界面
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/out" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:background="#999999" android:orientation="vertical" > <TextView android:id="@+id/dialog_tv" android:layout_width="match_parent" android:layout_height="match_parent" android:clickable="true" android:gravity="center" android:text="我来了" android:textColor="#888888" android:textSize="20sp" /> </LinearLayout>
加一个样式
<style name="dialogWindowAnim" mce_bogus="1" parent="android:Animation"> <item name="android:windowEnterAnimation">@anim/dialog_enter_anim</item> <item name="android:windowExitAnimation">@anim/dialog_exit_anim</item> </style> <style name="blend_theme_dialog" parent="@android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item> <item name="android:windowIsFloating">true</item> <item name="android:windowIsTranslucent">true</item> <item name="android:windowNoTitle">true</item> <item name="android:backgroundDimEnabled">true</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:background">@android:color/transparent</item> <item name="android:windowAnimationStyle">@style/dialogWindowAnim</item> </style>
http://download.csdn.net/detail/liudao7994/9108923 代码下载地址
相关文章推荐
- Android Data Binding初次使用
- 我眼中的Android IDE
- android设备的适配
- Android--Service中添加 浮动 View
- Android Studio使用新的Gradle构建工具配置NDK环境
- Android ORM系列之GreenDao自定义类型转换器与代码混淆配置
- Android 手动显示和隐藏软键盘
- android 该项目的优化toast优化技巧
- android应用基础--由官方帮助文件翻译
- Android_开启应用
- Android学习之浏览pdf文档
- Android:clipChildren属性
- 不容错过!开发者必备的十二大Android开发资源
- Android, 基本控件的使用
- 《ArcGIS Runtime SDK for Android开发笔记》——(7)、示例代码arcgis-runtime-samples-android的使用
- android中的日志工具Log
- Android Monkey之script脚本
- Android开发 打开文件 选择文件对话框
- Android应用打破65K方法数限制
- Android 使用LeakCanary 检测内存泄露