【Android笔记】淡入淡出、上下弹出动画的

今天想到了自己毕业设计时候做的app,里面主页上面的搜索框用到了一个PopupWindow来实现,我就琢磨这在给他加上一个动画,当时真的是什么都不懂,囫囵吞枣的就拿来用了,现在又大概找了两种动画效果来实现,现在记录下。

一、淡入、淡出动画

  1. 在res文件下面建立一个叫anim的文件夹。
  2. 在anim文件下面建立两个xml文件,分别为:

    • push_bottom_in.xml(淡入效果)

      <?xml version="1.0" encoding="utf-8"?>
      <set xmlns:android="http://schemas.android.com/apk/res/android" >
      
          <alpha
              android:duration="200"
              android:fromAlpha="0.0"
              android:toAlpha="1.0" />
      
      </set>
    • push_bottom_out.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.0"
              android:toAlpha="0.0" />
      </set>

    参数解释:

    • duration设置完成动画需要的时间
    • fromAlpha动画开始时的透明度
    • toAlpha动画结束时候的透明度
  3. 在res文件夹下面的values文件夹下面的styles.xml里面加入以下代码:

 <style name="AnimBottom" parent="@android:style/Animation">
        <item name="android:windowEnterAnimation">@anim/push_bottom_in</item>
        <item name="android:windowExitAnimation">@anim/push_bottom_out</item>
 </style>

AnimBottom就是该动画的名字,在需要设置的地方直接调用R.style.AnimBottom就可以使用该动画了。

二、弹出动画

步骤和上面的一样,
anim下面:
- inuptodown.xml(弹入)

<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
    <translate
        android:duration="500"
        android:fromYDelta="-100%"
        android:toYDelta="0" />
</set>
  • outdowntoup.xml(弹出)
<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
    <translate
        android:duration="500"
        android:fromYDelta="0"
        android:toYDelta="-100%" />
</set>

styles.xml中:

 <style name="AnimationFade">
        <item name="android:windowEnterAnimation">@anim/inuptodown</item>
        <item name="android:windowExitAnimation">@anim/outdowntoup</item>
    </style>

使用的话和上面的是一样的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值