今天准备比赛的时候 遇到了这个问题。
查了些资料总结了下。
主要是通过
android: theme 标签来实现
android: theme="@style/xxx"
那么就需要自己写style风格文件
如下
<style name="ThemeActivity" mce_bogus="1">
<item name="android:windowAnimationStyle">@style/AnimationActivity</item>
<item name="android:windowNoTitle">true</item>
</style>
<style name="AnimationActivity" mce_bogus="1" parent="@android:style/Animation.Activity">
//需要继承自android:style/Animation.Activity
<item name="android:activityOpenEnterAnimation">@anim/anim_enter</item>
<item name="android:activityOpenExitAnimation">@anim/anim_exit</item>
<item name="android:activityCloseEnterAnimation">@anim/back_enter</item>
<item name="android:activityCloseExitAnimation">@anim/back_exit</item>
</style>
//这里之所以写成2style个是为了解耦
然后自己写下anim/anim_enter anim/anim_exit 以及amin_back_enter amin_back_enter
===============我是分割线===================
今天同样遇到一个问题
就是用xml写amin时候
我把scale 标签的 pivotX 与 pivotY
的含义理解错了 实际含义应该是相对物件的X,Y标志位。(0%~100%)
而
fromXScale[float] fromYScale[float] |
为动画起始时,X、Y坐标上相对
pivotX 的伸缩尺寸
|
0.0表示收缩到没有 1.0表示正常无伸缩 值小于1.0表示收缩 值大于1.0表示放大
物件伸展过程中不会移出物件
|
toXScale [float] toYScale[float] |
为动画结束时,X、Y坐标上相对
pivotY的伸缩尺寸(参数含义同上)
|
==============我是分界线====================
关于android anim动画 的越界问题
在动画使用过程中
scale 是不能越界的 只能显示在View本身的范围内
translate 可以越界的 但只能在该view的父view的范围内显示超出则不显示 (它标记的x,y是相对于所在view的左上标志点位)
rotate 可以越界的 但只能在该view的父view的范围内显示超出则不显示
==============我是分割线====================
animation.setFillAfter(true)方法可以实现动画结束后 图片停止在动画结束的位置[view的实际位置不改变]
从而可以通过动画实现新浪微博消息页上导航的选择切换效果
/**
* 初始化动画
*/
private void InitImageView() {
cursor = (ImageView) findViewById(R.id.cursor);
bmpW = BitmapFactory.decodeResource(getResources(), R.drawable.a)
.getWidth();// 获取图片宽度
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int screenW = dm.widthPixels;// 获取分辨率宽度
offset = (screenW / 3 - bmpW) / 2;// 计算偏移量
Matrix matrix = new Matrix();
matrix.postTranslate(offset, 0);
cursor.setImageMatrix(matrix);// 设置动画初始位置 只改变显示位置 不影响初始位置(既不影响top|left坐标点)
}
int one = offset * 2 + bmpW;
// 页卡1 -> 页卡2 偏移量
int two = one * 2;
// 页卡1 -> 页卡3 偏移量
@Override public void onPageSelected(int arg0) { Animation animation = null; switch (arg0) { case 0: if (currIndex == 1) { animation = new TranslateAnimation(one, 0, 0, 0); } else if (currIndex == 2) { animation = new TranslateAnimation(two, 0, 0, 0); } break; case 1: if (currIndex == 0) { animation = new TranslateAnimation(offset, one, 0, 0); } else if (currIndex == 2) { animation = new TranslateAnimation(two, one, 0, 0); } break; case 2: if (currIndex == 0) { animation = new TranslateAnimation(offset, two, 0, 0); } else if (currIndex == 1) { animation = new TranslateAnimation(one, two, 0, 0); } break; } currIndex = arg0; animation.setFillAfter(true);
// True:图片停在动画结束位置
animation.setDuration(300); cursor.startAnimation(animation); } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageScrollStateChanged(int arg0) { }
http://www.eoeandroid.com/code/2012/0322/994_2.html
分享到:
相关推荐
提供多种方式的activity切换动画的实现,并封装为基类,方便使用
android activity切换动画效果,定义了多种,如果需要,可以仿照着自己定义
Android Activity切换动画效果
android activity切换动画效果大全,包括六个经典例子: 1、25个activity切换的动画效果; 2、android activity 切换效果库(劲推荐); 3、Android_Activity之间切换动画; 4、Android改变Activity切换效果; 5、...
Android中Activity切换动画,是非常常见的,在很多手机中,直接就有自带的效果,但是有些没有,我写了一个例子供大家下载,交流
Android Activity切换动画 时间日期选择器分为:渐变 上下 左右 缩放几种切换activity 2|时间日期选择器:两种方式实现
Activity之间相互切换动画,解决了back键时后退动画的问题
Android Activity切换动画 Android Activity切换动画是指从Activity A 跳转至Activity B的时候,Activity A 有退出动画,Activity B 有进入动画。这个动画的实现很简单,在startActivity(intent)之后调...
Android的Activity切换动画特效库SwitchLayout,视图切换动画库,媲美IOS
Android动画效果-切换Activity动画,切换Activity时的淡入淡出和缩放进入退出效果
android Activity间切换动画效果演示源码 模糊 水波纹 折叠
Android Activity四种切换动画,包括从下到上,翻页,大小从1到0,alpha从1到0。
小米图库页面切换动画,进入详情和退出详情时,动画效果,图片从指定位置放大和缩小切换 Activity
写了几个比较常用的android客户端里activity的切换动画,有需要的可以下载试试。
实现activity绚丽的跳转动画效果,
博文链接:https://xyc20080413.iteye.com/blog/2004566
android 两个activity 翻转动画切换。谁如果把activity切换时的动画连贯了。给我说一下。
两个activity之间切换动画全集, overridePendingTransition(R.anim.fade, R.anim.hold);