位置: 编程技术 - 正文

App启动界面效果设计(app启动页动画效果)

编辑:rootadmin

推荐整理分享App启动界面效果设计(app启动页动画效果),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:app启动界面效果怎么设置,app启动画面,app启动界面效果图,app启动界面设计,app启动画面,app启动界面设计,app启动界面效果图,app启动界面设计,内容如对您有帮助,希望把文章链接给更多的朋友!

转载请标明出处: 每个Android应用启动之后都会出现一个Splash启动界面,大多数的Splash界面都是会等待一定时间,然后切换到下一个界面。但如果app启动时间过长,可使用启动界面让用户耐心等待这段枯燥的时间。Splash界面一般用于显示产品的LOGO、产品名称、版本信息等,也可以完成对系统状况的检测,如网络是否连通、电源是否充足、检测新版本等,也可以预先加载相关数据。启动界面SLEEP的时间=固定时间-预处理任务时间。

App启动界面效果设计(app启动页动画效果)

一、为APP创建一个简单的启动界面

所谓简单的启动界面,即界面只用于显示产品的LOGO、产品名称等常规信息,不做系统状态检测或数据加载的操作。设计方法如下:实现两activity,一个是SplashActivity,用来做启动画面,另一个是将要跳转的Activity。通过创建一个新的线程,延迟指定的时间再执行Activity的跳转,并调用finish方法结束当前启动activity。实例:高仿QQ启动界面1.src/.../WelcomeActivity.javapackage com.example.qq; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Window; /*欢迎动画*/ public class WelcomeActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { // requestWindowFeature(Window.FEATURE_NO_TITLE); //设置显示窗口界面特征,此时为窗口无标题 super.onCreate(savedInstanceState); setContentView(R.layout.welcome); final Intent intent = new Intent(WelcomeActivity.this,LoginActivity.class); //设置一个用于启动新Activity的"意图" intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //使系统为需要启动的Activity寻找与当前Activity不同的任务栈 new Thread(new Runnable(){ //创建一个新的线程来显示欢迎动画,指定时间后结束,跳转至指定界面 public void run() { try { Thread.sleep(); //欢迎界面启动持续时间 getApplicationContext().startActivity(intent); //启动新的界面,获取应用的上下文,生命周期是整个应用,应用结束才会结束 finish(); //结束欢迎界面activity } catch (InterruptedException e) { e.printStackTrace(); } } }).start(); } } 2.res/layout/welcome.xml<LinearLayout xmlns:android=" android:layout_width="match_parent" android:layout_height="match_parent" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:background="@drawable/splash"> </LinearLayout> 分析说明:(1)隐藏应用标题方法 a.在显示的布局文件中,添加 android:theme="@android:style/Theme.NoTitleBar.Fullscreen" b.在逻辑代码setContentView(R.layout.login)之前添加requestWindowFeature(Window.FEATURE_NO_TITLE); (2)调用 Activity.finish()方法时,结果和用户按下 BACK 键一样:告诉 Activity Manager 该 Activity 实例完成了相应的工作,可以被“回收”。SplashActivity 从 Active 状态转换 Stoped 状态,并被系统从栈中移除,标志可以被“回收”。(3)创建一个新的线程完成界面跳转,两种方法:方法一:new Thread(new Runnable(){ public void run() { Thread.sleep(); //延时时间 ..... finish(); }}方法二:new Handler().postDelayed(new Runnable() { public void run() { ........ SplashActivity.this.finish(); } }, ); 说明:Handler().postDelayed 是延迟指定的时间再执行Handler类主要可以使用如下3个方法来设置执行Runnable对象的时间:>立即执行Runnable对象 public final boolean post(Runnable r); >在指定的时间(uptimeMillis)执行Runnable对象 public final boolean postAtTime(Runnable r, long uptimeMillis); >在指定的时间间隔(delayMillis)执行Runnable对象 public final boolean postDelayed(Runnable r, long delayMillis); 运行结果:二、自定义复杂启动界面设计 在启动界面友好展示的同时,后台可以做很多操作,比如系统检测,预加载数据等,这些后台操作可以使用AsyncTask来实现。1.Splash启动界面设计,res/layout/welcome.xml<RelativeLayout xmlns:android=" android:layout_width="match_parent" android:layout_height="match_parent" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:background="#FFFFFF"> <!--第一级 --> <TextView android:id="@&#;id/copy_right" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_centerHorizontal="true" android:layout_alignParentBottom="true" android:padding="dp" android:text="By 老蒋良心出品"/> <!-- 第一级 --> <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent"> <!-- 第二级 --> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:layout_centerInParent="true"> <!-- logo图片 --> <ImageView android:id="@&#;id/logoImage" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/logo" android:layout_gravity="center_horizontal" android:background="#ffffff"/> <!-- 产品名称、版本号 --> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="dp" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="6dip" android:text="创新生活app" android:textStyle="bold" android:textSize="sp"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="3dip" android:text="V1.0" android:textStyle="bold" android:textSize="sp"/> </LinearLayout> <!-- 分隔线 --> <View android:layout_width="fill_parent" android:layout_height="1dp" android:layout_marginLeft="dp" android:layout_marginRight="dp" android:background="#dddddd"/> <!-- 内容描述 --> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:padding="6dip" android:text="科技创新,振兴中华." android:textSize="sp"/> <ProgressBar android:id="@&#;id/refresh_list_footer_progressbar" android:layout_width="dip" android:layout_height="dip" style="@android:attr/progressBarStyleLargeInverse" android:layout_gravity="center"> </ProgressBar> </LinearLayout> </RelativeLayout> 2.后台处理,SplashActivity.javapublic class SplashActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.splash); new AsyncTask<Void, Void, Integer>() { //后台操作 protected Integer doInBackground(Void... params) { int result; long startTime = System.currentTimeMillis(); result = loadingCache(); long loadingTime = System.currentTimeMillis() - startTime; if (loadingTime < SHOW_TIME_MIN) { try { Thread.sleep(SHOW_TIME_MIN - loadingTime); } catch (InterruptedException e) { e.printStackTrace(); } } return result; } //操作后台操作的结果 @Override protected void onPostExecute(Integer result) { // ... ... Intent intent = new Intent(); intent.setClassName(SplashActivity.this, getString(R.string.splash_out_activity)); startActivity(intent); finish(); //两个参数分别表示进入的动画,退出的动画 overridePendingTransition(R.anim.fade_in, R.anim.fade_out); }.execute(new Void[]{}); } private int loadingCache() { } 。。。。。 } 参考资料:

Android系统Root与静默安装 Android系统Root与静默安装静默安装,指的是安装时无需任何用户干预,直接按默认设置安装应用。因为,它的无需用户干预,很多情况下变成了用户压根

[置顶] android UI(内容)更新的方法之handler、runOnUiThread() 摘要:在android应用程序开发中,特别是在使用多线程开发程序时,经常会需要在其他线程完成某些工作后更新UI。而众所周知,更新UI的功能必须放在UI主

Android系统上的键盘监控 键盘监控键盘监控,顾名思义是在应用软件在运行时,用户在设备上的一举一动都将被详细记录下来,更多的实在使用者毫无觉察的情况下将屏幕内容

标签: app启动页动画效果

本文链接地址:https://www.jiuchutong.com/biancheng/376586.html 转载请保留说明!

上一篇:Android 网络通信框架Volley简介(Google IO 2013)(android网络通信http)

下一篇:Android系统Root与静默安装(安卓手机root后更流畅吗)

  • 小规模纳税人出售使用过固定资产
  • 固定资产大修理的标准
  • 部分产品退货怎么办
  • 开私家车出差如何报销差旅费
  • 购买债券的利息会计分录
  • 收据盖公章要注意哪些
  • 定额发票怎么验证真伪
  • 子公司对母公司的责任
  • 开模费用计入什么科目
  • 赠送的商品怎么缴纳增值税
  • 民间非营利组织会计制度最新版
  • 累计所得税前净现金流量计算公式为
  • 股东实物分红账务怎么做
  • 定期存款准备金是什么
  • 不动产进项税额分两年抵扣
  • 以前年度做的预算怎么查
  • 购买的员工福利需要缴纳印花税
  • 经营租赁发生改良费用的会计分录如何处理?
  • 增值税普通发票和电子普通发票的区别
  • 金融保险定义
  • 专票作废流程是什么意思
  • 加计扣除的研发费用范围
  • 哪些金融资产不计提减值
  • 税控盘没有反写会怎样
  • 报表中在产品填什么数据
  • netframework4.8安装未成功
  • 跨年度冲减收入
  • windows10 电脑
  • 增值税价外费用如何开票
  • 总分类账和明细账
  • php生成随机数字
  • 专用发票开具错误
  • 罚款是否需要开发票
  • 公司承担责任的方式
  • 固定资产的计量属性
  • php采集系统
  • 现金折扣成本变动额
  • php remote_addr
  • 钱进公账怎么转账给别人
  • 物流公司挂靠车辆怎么做账
  • 矿产资源补偿费计入税金及附加吗
  • 其他业务成本如何结转
  • js reverse
  • 小规模纳税人通行费可以抵扣吗
  • 外币交易的会计分录怎么写
  • sql 按,拆分成多条数据
  • 备用金怎么回冲
  • 资产负债表其他应收款计算公式
  • 提取公积金收手续费吗
  • 企业计提什么意思
  • 递延所得税资产和所得税费用的关系
  • 交车辆购置税需要什么材料
  • 税控设备全额抵减
  • 装饰公司购买的安装服务怎么入账
  • 其他债权投资减值影响账面价值吗
  • 会计主体包括哪些四种
  • 建账基本要求
  • 日记账的设置
  • node使用mysql
  • sql语句参数值
  • sql返回一条数据
  • vista win
  • 预装win10
  • linux咋用
  • 虚拟机下安装操作软件
  • win7玩dnf总是未响应
  • centos7误删除怎么恢复
  • cocos2dx tableview基础:实现多图片的滑动显示
  • javascript语言基础
  • css 之 background-position-x
  • nodejs异步编程及原理
  • 在批改中,可以使用x表示错误
  • unity延迟执行方法
  • JavaScript中setMonth()方法的使用详解
  • javascript tab切换
  • jQuery Ajax 实例代码 ($.ajax、$.post、$.get)
  • jquery自带的弹出框
  • 简述进料加工对中国的意义
  • 代理记账和代理的区别
  • 微信密码忘记了,手机号也没有用了,怎么办
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设