android日夜间模式切换动画
2016-01-19 12:56
483 查看
转载请说明出处http://blog.csdn.net/asd2603934/article/details/50541701
在一些应用中需要有日夜间模式,当切换模式之后,如果不给点过渡动画,那效果看起来比较差。
那用什么方式来做这个切换过渡动画呢?
第一种:选择用一个activity来做过渡
首先我们建一个activity
import android.os.Bundle; import android.os.Handler; import android.view.View; import android.view.WindowManager; import com.sdhz.yuko.R; /** * @author majunze * @Title: SwitchModeActivity * @Description: 类的描述 - 过渡activity * @date 2016-1-19 * @email 704188225@qq.com */ public class SwitchModeActivity extends BaseActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // requestWindowFeature(Window.FEATURE_NO_TITLE); // 去除标题 必须在setContentView()方法之前调用,如果在androidManifest.xml中对这个SwitchModeActivity已经设置了android:theme="@android:style/Theme.NoTitleBar.Fullscreen",那就不用再代码中写这一句,不然会报错 setContentView(R.layout.activity_switchmode); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); // 设置全屏,不需要可去掉 //设置两秒后执行当前activity的销毁操作 new Handler().postDelayed(new Runnable() { public void run() { //execute the task back(null); } }, 2000); } public void back(View v) { this.finish(); try { overridePendingTransition(R.anim.activity_in, R.anim.activity_out); } catch (Exception e) { } } //按返回键 @Override public void onBackPressed() { back(null); } }
在res/anim文件夹中新建两个xml、 分别为activity_in跟activity_out
activity_in内容:<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <!-- fromAlpha:开始时透明度;toAlpha:结束时透明度;duration:动画持续时间 --> <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:duration="500" android:fromAlpha="0.0" android:interpolator="@android:anim/accelerate_interpolator" android:toAlpha="1.0" > </alpha> </set>
activity_out内容:
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="500" android:interpolator="@android:anim/decelerate_interpolator" > </alpha> </set>
之后在需要切换模式的方法调用中执行如下代码:
Intent mode = new Intent(getActivity(), SwitchModeActivity.class); this.startActivity(mode); getActivity().overridePendingTransition( R.anim.activity_in,R.anim.activity_out);// 淡出淡入动画效果
这样就实现了一个过渡动画,此方式也能实现activity的切换效果,只要修改xml文件即可
相关文章推荐
- android 录音回放音乐播放
- Android Studio cannot resolve symbols
- Android Permissions管理之用户拒绝授权
- Android Activity启动模式,回退栈管理!
- Android MultiDex分包变形记
- Android:Moring-早安闹钟开发过程记录(三)
- Android注解学习(2)
- Android:图像切换器imageSwitcher的实例应用
- Android:自定义ToggleButton
- 【Android适配问题集锦-音频类】当Android手机插入耳机后仍为外放的尴尬
- Android中资源限定符hdpi large等的优先顺序和匹配关系
- Android 中的Activity、Window、View之间的关系
- 怎样获取android手机联系人并按字母展示(一)
- android ndk搭建以及JNI的Helloworld编写
- android 工作笔记 内存优化问题
- G面经prepare: Android Phone Unlock Pattern
- android 蓝牙 搜索匹配
- Android软键盘弹出时把布局顶上去的解决方法 .
- android Activity关闭动画 附左右动画anim
- android TextView的注意事项