当前位置:首页 » 安卓系统 » android动画停止

android动画停止

发布时间: 2022-06-09 06:58:06

1. Android 帧动画何时停止播放

可以通过一些其他方式来做到。
方式一,当动画开始start之后,我们可以通过检测是否到达帧动画的最后一帧,来确定动画是否播完。这种方式可以保证动画播完。
方式二,重写AnimationDrawable,获得totalDuration,然后动画start之后的totalDuration,调用结束的接口回调onAnimationFinshed()。为什么必须重写呢?因为,AnimationDrawable仅提供了每一帧的ration,而不能直接获得动画总的ration。
当然还有一些变种的方法,但是其大体思路都应该差不多。至于动画是否流畅播放,这要取决于你播放动画的时候,系统的繁忙程度。

2. android 补间动画怎么取消

9.1.4 cancel方法:取消动画
【功能说明】该方法用于取消一个动画的执行。该方法是取得一个正在执行中的动画的主要方法。cancel方法和startNow方法结合可以实现对动画执行过程的控制。需要注意的是,通过cancel方法取消的动画,必须使用reset方法或者setAnimation方法重新设置,才可以再次执行动画。
【基本语法】public void cancel ()
【实例演示】下面通过代码来演示如何取消动画效果执行。
public class firstActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { //重载onCreate方法 super.onCreate(savedInstanceState); setContentView(R.layout.main); final ImageView image=(ImageView)findViewById(R.id.imageView1); //ImageView对象 Button btn1=(Button)findViewById(R.id.button1); //按钮对象 Button btn2=(Button)findViewById(R.id.button2); final Animation translateAnimation=new TranslateAnimation(0,200,0,200);//移动动画效果 btn1.setOnClickListener(new View.OnClickListener() { //设置监听器 @Override public void onClick(View v) { // TODO Auto-generated method stub translateAnimation.setDuration(3000); //设置动画持续时间 image.setAnimation(translateAnimation); //设置动画效果 translateAnimation.startNow(); //启动动画 } }); btn2.setOnClickListener(new View.OnClickListener() { //设置监听器 @Override public void onClick(View v) { // TODO Auto-generated method stub translateAnimation.cancel(); //取消动画执行 } }); } }

在这段代码中,首先初始化了一个移动的动画效果translateAnimation。然后,在第一个按钮监听器中,通过setDuration方法设置动画持续时间,并为image对象设置动画效果,最后使用startNow方法启动动画效果。在第二个按钮监听器中,调用cancel方法取消动画执行。读者执行这段代码,可以在手机屏幕上看到如图9.2所示的显示效果。当点击"执行动画"按钮时,图片开始移动;当点击"停止动画"按钮时,动画被取消,重新返回起始位置。

3. Android 中 Animation 怎么停止

最近遇到一个需求,通过在GridView上改变焦点,并且GridView上每个item有一个隐藏的层,获取焦点之后,通过AlphaAnimation显示出来。

发现当ration大于500时,快速移动焦点,每个item都会播放一次动画。

需求是焦点移动到别的item,当前item的动画停止。

通过测试发现,调用Animation中的cancel()方法不能实现这样的效果。

我使用了以下方法,均未成功:
1.调用Animation的cancel()方法;
2.将播放动画的view invisible。
3.将正在播放的动画置null。

在国外的一个论坛中,找到了结果。

调用view中的clearAnimation()方法,即可消除view上正在运行的动画效果。

4. android 怎么将activity 退出的动画效果关闭

在AndroidMenifest.xml文件里面的Activity声明中,增加自己的Theme声明,如下:
<activity
android:name=".MyOrderListServiceActivity"
android:theme="@style/MyTheme"
>
在values的style.xml文件里 声明 一个style,起名为MyTheme,注意这里面有我自定义的东西,涉及到动画的声明,就只有 <item name="android:windowAnimationStyle">@style/AnimationActivity</item>这一项。
<style name="MyTheme">
<!-- float_box为我们定义的窗口背景 -->
<item name="android:backgroundDimEnabled">true</item>
<item name="android:windowFrame">@null</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowAnimationStyle">@style/AnimationActivity</item>
</style>

在values的style.xml文件里 声明 一个style,起名为AnimationActivity,没错就是上面的MyTheme中的windowAnimationStyle的实现,如下:
<style name="AnimationActivity" mce_bogus="1" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/slide_in_bottom</item>
<item name="android:activityOpenExitAnimation">@anim/slide_out_bottom</item>
<item name="android:activityCloseEnterAnimation">@anim/slide_in_bottom</item>
<item name="android:activityCloseExitAnimation">@anim/slide_out_bottom</item>
</style>
添加完以上的内容,有的机器虽然进入的动画是可用的,但是退出的动画无效,还需要在你的Activity中添加一些代码,保证animation的完美运行
添加全局变量
protected int activityCloseEnterAnimation;
protected int activityCloseExitAnimation
在OnCreate里面添加如下代码:
TypedArray activityStyle = getTheme().obtainStyledAttributes(new int[] {android.R.attr.windowAnimationStyle});
int windowAnimationStyleResId = activityStyle.getResourceId(0, 0);
activityStyle.recycle();
activityStyle = getTheme().obtainStyledAttributes(windowAnimationStyleResId, new int[] {android.R.attr.activityCloseEnterAnimation, android.R.attr.activityCloseExitAnimation});
activityCloseEnterAnimation = activityStyle.getResourceId(0, 0);
activityCloseExitAnimation = activityStyle.getResourceId(1, 0);
activityStyle.recycle();
在你的程序finish之前,需要调用如下代码:
overridePendingTransition(activityCloseEnterAnimation, activityCloseExitAnimation);
我调用的例子如下:
@Override
public void finish() {
Log.i(TAG, "finish");
super.finish();
overridePendingTransition(activityCloseEnterAnimation, activityCloseExitAnimation);
}

这样就可以了。

5. android AnimationDrawable 动画 stop时 怎样停留在第一帧画面

view.selectDrawable(0);

6. 为组件加载动画后,在动画结束时,如何使组件停在结束位置啊

嗯,这个设置一下就可以了在中不是有个属性androidneshot吗,当设置为true时,不会循环播放,而且当它播放完停止时默认就是在动画结束的位置。

7. Android中如何使用动画实现文字从右边平移过来之后,再往右回退一点,然后停止

可以在布局里面写动画,先是从右往左平移,然后另一个是从左往右平移,可以设置平移的时间。在代码中找到你的textview控件,然后设置textview的动画是你刚刚写的布局里面的动画,再写一句开始动画的代码就可以了。主要就是布局里面写动画的效果,代码里面找到这个动画并且应用到具体的控件。需要代码的话再找我,应该很好理解吧。

8. android逐帧动画如何让动画停在最后一张

在工程res文件目录下新建一个anim文件夹,在里面新建一个start_animation.xml格式文件,此文件用来定义动画播放图片的顺序及每一张图片显示停留时间。
在这里增加android:oneshot="true"属性, 会停留在最后一帧

9. 关于android开机动画在什么时候停止的问题

楼主您好 开机动画压缩包为 bootanimation.zip 解压此压缩包,内含一个TXT文档 desc.txt--------这是一个保存形式为ANSI格式,用于设置这个动画像素(大小),帧数,闪烁次数,文件夹名称等; 其内部个是大概为 320 480 30 p 1 0 part0 p 0 10 part1 320 480 30--这里的320代表图片的像素(大小)宽度,480代表图片的像素(大小)高度,30代表帧数,就是每秒播放的图片数。 p 1 0 part0 --这里的p代表标志符,1代表循环次数为1次,0代表阶段间隔时间为0,part0代表对应的文件夹名 p 0 10 part1--这里的p代表标志符,0代表循环次数为0次,10代表阶段间隔时间为10,part1代表对应的文件名; Part0和Part1内部的图片必须是PNG格式的。 楼主所说的会不会停在30不动,这个不会,到30之后手机就会开机。这也是许多人觉着开机过慢,会对手机刷开机动画。

10. android怎么停止一个旋转动画

view.clearAnmation

热点内容
做脚本挂 发布:2024-05-02 19:09:14 浏览:930
打王者开最高配置哪个手机好 发布:2024-05-02 19:08:31 浏览:350
python字典使用 发布:2024-05-02 19:01:14 浏览:134
我的世界服务器联机ip 发布:2024-05-02 18:50:39 浏览:619
steam密码从哪里看 发布:2024-05-02 18:50:00 浏览:629
convertlinux 发布:2024-05-02 18:20:00 浏览:705
zxingandroid简化 发布:2024-05-02 17:47:53 浏览:189
贵州银行卡查询密码是什么 发布:2024-05-02 17:47:17 浏览:119
飓风算法没用 发布:2024-05-02 17:41:41 浏览:350
android铃声设置 发布:2024-05-02 17:40:01 浏览:485