使用自定义动画显示活动 [英] Displaying activity with custom animation

查看:19
本文介绍了使用自定义动画显示活动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个小部件,它在被点击时启动一个活动.我想要某种精美的动画来显示此活动,而不是标准的 Android 右侧滚动.但是,我在设置它时遇到了问题.这就是我所拥有的:

I have a widget which starts an activity when it is clicked. I'd like to have some kind of fancy animation to display this activity, rather than the standard scroll-from-right of Android. I'm having problems setting it, though. This is what I have:

slide_top_to_bottom.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
    <translate android:fromYDelta="-100%" android:toXDelta="0" android:duration="100" />
    <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="50" />
</set>

...在 anim.xml

<?xml version="1.0" encoding="utf-8"?>
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
        android:delay="50%"
        android:animation="@anim/slide_top_to_bottom" />

但是我从哪里引用它呢?我已经尝试了要滑入的活动的基本元素和清单中活动的条目,两次都是

But then where do I reference it from? I've tried both the base element of the activity I want to slide in, and the activitiy's entry in the manifest, both times with

android:layoutAnimation="@+anim/anim"

我可能做错了这一切.非常感谢任何帮助!

I might be doing this all wrong. Any help is much appreciated!

推荐答案

您可以使用对您自己的动画的引用来创建自定义主题,并将其应用到清单文件中的 Activity.我成功地使用以下样式定义为浮动窗口应用了自定义动画.如果您将样式的父项设置为@android:style/Animation.Activity"

You can create a custom Theme with a reference to your own animation and apply it to your Activity in your manifest file. I was successful in applying a custom animation for a floating window using the following style definition. You might be able to do something similar if you set the parent of your style to be "@android:style/Animation.Activity"

查看以下文件以进一步了解您可以覆盖的内容.

Look at the following files for further details on what you can override.

https://github.com/android/platform_frameworks_base/blob/master/core/res/res/values/styles.xmlhttps://github.com/android/platform_frameworks_base/blob/master/core/res/res/values/themes.xml

这是我的styles.xml 和manifest.xml 的一部分

Here's my a portion of my styles.xml and manifest.xml

styles.xml

<style name="MyTheme" parent="@android:style/Theme.Panel">
    <item name="android:windowNoTitle">true</item>
    <item name="android:backgroundDimEnabled">true</item>
    <item name="android:windowAnimationStyle">@style/MyAnimation.Window</item>
</style>

<!-- Animations --> 
<style name="MyAnimation" /> 

<!-- Animations for a non-full-screen window or activity. --> 
<style name="MyAnimation.Window" parent="@android:style/Animation.Dialog"> 
    <item name="android:windowEnterAnimation">@anim/grow_from_middle</item>
    <item name="android:windowExitAnimation">@anim/shrink_to_middle</item>
</style> 

Manifest.xml

Manifest.xml

    <activity
        android:name="com.me.activity.MyActivity"
        android:label="@string/display_name"
        android:theme="@style/MyTheme">
    </activity>

这篇关于使用自定义动画显示活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆