android欢迎界面渐入,渐出效果制作
来源:互联网 发布:linux run as root 编辑:程序博客网 时间:2024/06/08 09:37
app通常有一个欢迎界面,常用的实现方法代码如下:
try { Thread.sleep(3000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } startActivity(new Intent(WelcomActivity.this,MainActivity.class)); finish();
这样会出现一个问题,那就是welcomActivity到MainActivity的过程中会有一个空白的部分,很不雅观,升级以后的代码如下:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); View rootView = LayoutInflater.from(this).inflate(R.layout.activity_welcomne, null); setContentView(rootView); new Handler().postDelayed(r, 3000); } Runnable r = new Runnable() { @Override public void run() { Intent intent = new Intent(WelcomActivity.this,MainActivity.class); startActivity(intent); finish(); } };
上面的方法不会出现留白的情况,但是还是有点问题,如果我想实现渐入渐出的效果怎么办?代码实现由两种方法:
第一种:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); View rootView = LayoutInflater.from(this).inflate(R.layout.activity_welcome, null); setContentView(rootView); new CountDownTimer(3000,1000) { @Override public void onTick(long millisUntilFinished) { // TODO Auto-generated method stub } @Override public void onFinish() { startActivity(new Intent(WelcomeActivity.this,MainActivity.class)); WelcomeActivity.this.overridePendingTransition(R.anim.alpha_in, R.anim.alpha_out); } }.start();
这种方法是通过设置activity之间的切换方式,从而实现淡出本activity,淡入下一个activity,我测试了一下如果,是竖屏切换到横屏,这样的设置方式就不太明显,这中种情况的时候就不推荐。这种方法运用了倒计时的功能,这里不做论述可以参考这里:使用CountDownTimer类轻松实现倒计时功能
第二种:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); View rootView = LayoutInflater.from(this).inflate(R.layout.activity_welcome, null); setContentView(rootView); Animation animation = AnimationUtils.loadAnimation(this, R.anim.alpha_out); animation.setAnimationListener(new AnimationListener() { @Override public void onAnimationStart(Animation animation) { // TODO Auto-generated method stub } @Override public void onAnimationRepeat(Animation animation) { // TODO Auto-generated method stub } @Override public void onAnimationEnd(Animation animation) { startActivity(new Intent(WelcomeActivity.this,MainActivity.class)); } }); rootView.startAnimation(animation); } }
第二种通过设置本activity的动画实现的,先绑定动画,在设置监听器,当动画完成的时候就用Intent跳转从而实现了渐入渐出的效果。这种方式在竖横屏切换的时候也有用,但是只能实现一种效果,要么淡出,要么淡入,无法同时实现淡入淡出。
除了上面的两个之外,还需要在res文件夹中建立anim文件夹,建立两个文件
alpha_in.xml
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="2000"/></set>
alpha_out.xml
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="3000"/></set>
android:fromAlpha表示动画开始的透明度,android:toAlpha表示动画结束时的透明度,
android:duration表示持续的时间。
1 0
- android欢迎界面渐入,渐出效果制作
- android欢迎页面图片的渐入切换效果
- jQuery 动画效果,消失,显现,渐出,渐入
- Android开发_ViewPager制作欢迎界面
- Android笔记—如何制作欢迎界面
- Android中的ViewPager制作欢迎界面
- Android 自定义Activity动画渐入和渐出样式
- android应用的欢迎启动界面效果
- Android 欢迎界面淡出动画效果(Animation)
- Android中欢迎界面背景图片放大效果
- 渐入效果实现
- android制作一个简单登入界面的部分代码
- 欢迎界面的制作
- C#制作欢迎界面
- 制作欢迎界面
- C#制作欢迎界面
- 图片渐出效果
- Android分享界面制作(底部滑出动画)
- CodeForces 607 A. Chain Reaction(dp)
- Cpp_I/O流
- Android 集成facebook 第三方登陆
- 在spring mvc与mybatis中加入logback
- 欢迎使用CSDN-markdown编辑器
- android欢迎界面渐入,渐出效果制作
- UART接口
- 排序算法总结(简单选择排序、堆排序)(python实现)
- 西安游记(兵马俑 -- 华清池)
- 项目记录24--unity-tolua框架 View01---UIBase.lua
- GDKOI2016总结
- MakeFile
- java运算符和几个引用类
- 【C++探索之旅】第一部分第九课:数组威武,动静合一