自定义控件实现方式原生Dialog实现方式代码块原生Dialog实现方式样式一L提示框实现方式一实现方式二原生Dialog实现方式样式二L列表选项原生Dialog实现方式样式三L单选对话框原生Dialog实现方式样式三L多选对话框自定义Dialog实现方式代码块结束语
本文中初步讨论了关于原生Dialog实现方式,自定义Dialog样式实现以及注意细节 基于Android Studio API 23开发 - 原生Dialog三种样式实现方式 - 自定义Dialog实现方式 - 结束语
styles里的自定义Dialog配置
<!--自定义dialog--> <style name="DialogStyle" parent="@android:style/Theme.Dialog"> <item name="android:windowFrame">@null</item> <!-- 边框--> <item name="android:windowIsFloating">true</item> <!--是否浮现在activity之上--> <item name="android:windowIsTranslucent">false</item> <!--半透明--> <item name="android:windowNoTitle">true</item> <!--无标题--> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowContentOverlay">@null</item> </style><!--自定义dialog的动画效果--> <style name="dialogAnim" parent="android:Animation"> <item name="android:windowEnterAnimation">@anim/dialog_show</item> <item name="android:windowExitAnimation">@anim/dialog_dismiss</item> </style>anim中创建dialog_show和dialog_dismiss
dialog_show<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromYDelta="100%p" android:duration="500" /></set> dialog_dismiss<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:toYDelta="100%p" android:duration="500" /></set>经过数据配置之后可以显示比较复杂的效果图
对于原生Dialog的样式无法进行重绘,并且根据Android Studio中使用的API不同,很可能会发生样式的变化。结合多方面因素考虑还是需要自定义一个Dialog界面用于复写比较好,不但可以保持页面的整洁性,还可以保证页面的统一性。
新闻热点
疑难解答