1 android高级编程——程序启动动画的实现
来源:互联网 发布:ftp上传工具 for mac 编辑:程序博客网 时间:2024/06/10 02:52
启动动画的原理:程序启动后加载一个只有一个图片的activity页面,该页面占满全屏。一段时间后,关闭当前activity进入主页面或登录页面的activity。
public class SplashActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);setContentView(R.layout.activity_splash);new Handler().postDelayed(new Runnable(){@Overridepublic void run() {// TODO Auto-generated method stubIntent intent = new Intent(SplashActivity.this,MainActivity.class);SplashActivity.this.startActivity(intent);//启动新页面SplashActivity.this.finish();//启动页面不需要压栈回退}}, 1000);//当前页面停留时间大约为1S this.overridePendingTransition(R.anim.enter_alpha, R.anim.exit_alpha);//页面跳转动画设置}}
动画切换的资源文件放置在res/anim文件夹。
exit_alpha.xml
<?xml version="1.0" encoding="utf-8"?><set android:shareInterpolator="false" xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="500"/></set>
enter_alpha.xml
<?xml version="1.0" encoding="utf-8"?><set android:shareInterpolator="false" xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:fromAlpha="0.1" android:toAlpha="1.0" android:duration="500"/> </set>
Splash采用了一个图片占满全屏,可用多种方式实现,例如可用一个层布局空间,将图片设置为其背景:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" Android:background="@drawable/yancao" tools:context=".SplashActivity" ></RelativeLayout>
需要注意的一点是,activity刚显示的并不是显示的xml文件布局所见的界面,而是它的主题页面,当activity调用onCreate函数后才重绘了xml布局的界面。所以你的splash很可能会闪出如下右边界面再转为右边xml文件定义的splash界面。
这种页面切换导致的和软件整体风格不和谐画面是应该尽量避免,方法就是设置这个splashactivity的主题。上面左图的主题是:Theme.Light ,这个主题界面背景默认是白色的有标题栏;如果将主题改成:Theme.NoTitlebar ,默认是黑色背景无标题栏。修改之后,在进入定义的splash图片之前,屏幕是全黑的。
- 1 android高级编程——程序启动动画的实现
- Android启动程序动画
- android程序启动动画
- Android 高级动画实现方案
- android activity启动,关闭的动画实现
- 实现更高级的动画效果—requestAnimationFrame
- Android程序启动时的进入动画效果实现(方式之一)
- Android高级动画——Vectordrawable
- android高级动画——贝塞尔曲线
- Android 编程下 AnimationDrawable (动画)的实现
- 自定义动画,高级动画的实现
- Android高级动画(1)
- Android——动画的实现
- Android动画学习(五)之属性动画实现Tween的效果和高级属性示例
- Android程序启动初始画面的实现
- Android高级控件(二)——SurfaceView实现GIF动画架包,播放GIF动画,自己实现功能的初体现
- Android高级控件(二)——SurfaceView实现GIF动画架包,播放GIF动画,自己实现功能的初体现
- 程序实现自启动的各种方法及编程实现
- js学习网址
- 显示当前月的日历(摘自java核心技术.卷I)
- Protection 2 ---- Limit Checking
- 1507 Uncle Tom's Inherited Land* 二分图-----黑白染色+奇偶匹配(1X2的矩形覆盖)
- Oracle 的sql语句多条件判断
- 1 android高级编程——程序启动动画的实现
- Disaster Recovery, High Availability, and Continuous Availability - What's the Difference?
- 记录代码——循环移位
- js代码规范
- Z-Stack协议分析工具之Packet Sniffer
- java transient
- android listview中的adapter
- worldwind学习笔记-7-找找如何画球的
- 正则表达式的学习——原载于我的百度空间