位置: 编程技术 - 正文

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后更流畅吗)

  • 不含税金额怎么算含税金额
  • 差额发票和全额发票一样吗
  • 个体户查账征收需要交什么税
  • 房屋租赁账务处理程序
  • 个税申报缴费
  • 无法收回的应收款计入什么科目
  • 电影剧本稿费代扣代缴个人所得税如何处理?
  • 运输公司租入的车辆如何核算
  • 房地产活动礼品送什么比较吸引人
  • 销项负数发票如何作废
  • 建筑企业对员工管理制度
  • 异地开票需要在当地交税吗
  • 研发支出期末需结转吗
  • 支票遗失要怎么补办
  • 净资产收益率怎么求
  • 汇算清缴退税计入什么科目
  • 运费收入会计处理
  • 三险一金专项扣除怎么查
  • 试生产时间规定
  • 怎么获取win10密钥
  • 收到采购发票未开票
  • w10系统有线连接网络
  • 暂估收入入账冲回如何会计分录
  • 所得税和所得税税率
  • 车间耗材管理办法
  • php自定义字段
  • 分配结转制造费用时借方科目?
  • 利润表本年累计金额和本期金额有什么区别
  • 施工企业的人工费占比
  • 物流公司主营业务怎么写
  • 公司向法人借款会计分录
  • wordpress加速
  • python中@是什么意思
  • SQLserver数据库的while附近有语法错误,应为AS
  • MySQL主从数据库搭建
  • 收到个人所得税手续费返还增值税税率
  • 上月结转余额怎么做会计分录
  • 增值税报表附表三
  • 个人所得税汇算清缴
  • mysqlreport显示Com_中change_db占用比例高的问题的解决方法
  • 一般纳税人企业所得税税率多少
  • 押金和租金
  • 新准则合同结算的科目编码为
  • 结构性存款现金流量折现法
  • 应收代位追偿款会计分录
  • 超过保质期放冰箱还能吃吗
  • 水电费进项税额转出20%
  • 设备投资要开票吗
  • 什么叫发票分割单
  • 财务月末暂估成本是什么
  • 企业免征税范围有哪些
  • 结账时能否用红笔写名字
  • mysql中字符串类型
  • ie8-ie11
  • console打开
  • 阿里云服务器linux系统
  • centos 删除恢复
  • win7右下角点击没反应
  • cortana可以用于搜索本机文件吗
  • win10每周更新
  • php.ini linux
  • js对象属性值
  • material design设计
  • dos用处
  • 测试Qt Quick在各个平台上的3D渲染性能
  • python字符串常用方法
  • unity脚本编写教程
  • 仿百度首页html代码静态
  • unity已存在
  • java语言基于对象
  • jquery中有几种方法可以来设置和获取样式
  • android自学
  • Android SDK Manager无法更新的解决方案
  • 郑州市华润燃气多少钱一立方
  • 企业自建自用房产税如何缴纳
  • 税局可以办理哪些业务
  • 白云区嘉禾税务局地址
  • 两不一欠自查报告怎么写
  • 税务网上抄报流程是什么
  • 怎么打印个人所得税扣缴申报表
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设