android弹出框之Dialog

开发之际,必要的弹框提示是不可少的,Dialog就是其一,那弹框赏心悦目,才不会引起用户的反感。下面是总结的一下方法。开始之前,先了解几个属性。

<style name="PerfectDialog" parent="android:Theme.Dialog">
        <item name="android:windowIsFloating">true</item>//是否浮现在activity之上
        <item name="android:windowIsTranslucent">false</item>//是否半透明
        <item name="android:windowNoTitle">true</item>//是否显示title标题
        <item name="android:windowFrame">@null</item>//设置windowFrame框
        <item name="android:windowFullscreen">false</item>//是否全屏显示
        <item name="android:windowBackground">@android:color/transparent</item>//设置dialog的背景
        <item name="android:windowAnimationStyle">@style/DialogAnims</item>//设置窗口动画效果
        <item name="android:backgroundDimEnabled">true</item>//背景是否变暗
        <item name="android:backgroundDimAmount">0.5</item>//设置背景变暗程度
    </style>

    <style name="DialogAnims">
        <item name="android:windowEnterAnimation">@anim/enter</item>//进入动画
        <item name="android:windowExitAnimation">@anim/exit</item>//退出动画
    </style>
每个属性的意义都有说明,不再赘述。

下面是enter与exit的动画:

enter.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <alpha
        android:duration="90"
        android:fromAlpha="0"
        android:toAlpha="1"/>
    <scale
        android:duration="135"
        android:fromXScale="0.8"
        android:toXScale="1.05"
        android:fromYScale="0.8"
        android:toYScale="1.05"
        android:pivotX="50%"
        android:pivotY="50%"/>
    <scale
        android:duration="105"
        android:fromXScale="1.05"
        android:toXScale="0.95"
        android:fromYScale="1.05"
        android:toYScale="0.95"
        android:startOffset="135"
        android:pivotX="50%"
        android:pivotY="50%"/>
    <scale
        android:duration="135"
        android:fromXScale="0.95"
        android:toXScale="1"
        android:fromYScale="0.95"
        android:toYScale="1"
        android:startOffset="240"
        android:pivotX="50%"
        android:pivotY="50%"/>
</set>
exit.xml:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <alpha
        android:duration="200"
        android:fromAlpha="1"
        android:toAlpha="0"/>
    <scale
        android:duration="200"
        android:fromXScale="1"
        android:toXScale="0.1"
        android:fromYScale="1"
        android:toYScale="0.1"
        android:pivotX="50%"
        android:pivotY="50%"/>
</set>

使用方法:

Dialog dialog =  new Dialog(this,R.style.PerfectDialog);
        dialog .setContentView(R.layout.perfect_dialog);
        dialog.show();



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值