Android程序的启动页面(闪屏页面)设计

您所在的位置:网站首页 启动页面设计三要素 Android程序的启动页面(闪屏页面)设计

Android程序的启动页面(闪屏页面)设计

2023-06-06 03:41| 来源: 网络整理| 查看: 265

Android程序的启动页面(闪屏页面)设计

        每个Android应用启动之后都会出现一个Splash启动界面,显示显示广告信息或产品的LOGO、公司的LOGO或者开发者信息。如果应用程序启动时间比较长,那么启动界面就是一个很好的东西,可以让用户耐心等待这段枯燥的时间。

一.启动页面的基本知识 (一)Splash界面显示的信息

  突出产品LOGO,产品名称,产品主要特色;   注明产品的版本信息;   注明公司信息或者开发者信息; 展示广告信息等;   背景图片,亦可以用背景颜色代替;   

(二)处理后台资源

     大多数的Splash界面都是会等待一定时间,然后切换到下一个界面;   其实,在这段时间里,可以对系统状况进行检测,比如网络是否通,电源是否充足;   或者,预先加载相关数据;   为了能让启动界面展现时间固定,需要计算执行以上预处理任务所花费的时间,那么:启动界面SLEEP的时间=固定时间-预处理任务时间;   

(三)Splash页面的实现方法,这里提供三种 1.使用SplashActivity,设置SplashActivity在AndroidManifest.xml为先显示Activity对象,然后让SplashActivity在多秒后跳转到主页页面并关闭页面。 2.在主页的布局xml文件中在原本的布局上层添加可以控制的全屏的布局,在MainActivity中通过代码控制表面上的全屏布局对象,在多秒后隐藏该布局,就可以显示出要显示的主页页面。 3.在MainActivity的onCreate方法中弹出一个全屏的对话框,这里的对话框也是可以全屏的自定义View,同样也是在多秒后关闭对话框,显示主页。

       从开发的复用性,第一个和第三个方法是可以很方便的移植到其他程序,本文介绍第一种方法。

二.启动页面的程序示例(使用SplashActivity)

效果:

z1

(一)SplashActivity的设计 package com.example.splash; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import android.view.View; import android.widget.TextView; import android.widget.Toast; /** * 启动页面的设计 */ public class SplashActivity extends Activity { //显示广告页面的时间,5 秒 long showTime=5; TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_splash); textView= (TextView) findViewById(R.id.text); //延迟5000ms跳转到主页面 handler.postDelayed(myRunnable, showTime*1000); handler.sendEmptyMessage(111);//給Handler对象发送信息 } //创建Handler对象 Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); if(msg.what==111){ Log.e("TAG","what"+showTime); textView.setText(""+showTime); showTime--;//时间减一秒 if (showTime>0){ handler.sendEmptyMessageDelayed(111,1000);//一秒后給自己发送一个信息 } } } }; //创建Runnable对象 Runnable myRunnable=new Runnable() { @Override public void run() { jundToMainActivity(); } }; //跳转到主页的方法,并关闭自身页面 public void jundToMainActivity(){ Intent intent = new Intent(SplashActivity.this, MainActivity.class); startActivity(intent); finish(); } //关闭页面 public void closeSplash(View view){ Log.e("TAG","closeSplash"); handler.removeCallbacks(myRunnable);//移出Runnable对象 jundToMainActivity(); } //回退键的监听方法, // 这里如果直接关闭页面,线程没有关闭的话,5秒后还是会启动主页面,除非移出线程对象 @Override public void onBackPressed() { // super.onBackPressed();不让它关闭 Toast.makeText(this,"广告之后更精彩!",Toast.LENGTH_SHORT).show(); //如果按回退键,关闭程序,代码设计 // finish();//关闭页面 // handler.removeCallbacks(myRunnable);//取消runnable对象 } } (二)activity_splash.xml文件的设计 (三)MainActivity的设计 package com.example.splash; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; /** *这里只是简单显示主页面 */ public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView textView=new TextView(this); textView.setText("主页欢迎你"); textView.setTextSize(30); setContentView(textView); } } (四)AndroidMainfest文件的主要代码 (五)sytle的设计(位置values–>styles.xml) 0dp @null true

       到这里一个完整的启动页面的设计已经完成了.        我的这个启动页面也是做了比较复杂的判断,我之前看很多启动页面没有监听回退键,这个明显是会出现问题的

这里提示一下后面两种方法的主要代码:

第二种方法:

说明: 这里有一个id为splashscreen的LinearLayout,是程序启动时显现的部分。当启动完成后,它会被隐藏。

第三种方法: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); shwoDialog(); } /** *这里的CursorDialog是一个继承自Dialog的类,里面封装了很多方法 */ private void shwoDialog() { //显示启动页 ImageView iv = new ImageView(this); iv.setBackgroundResource(R.mipmap.welcomebg); //下面的方法都是自己封装的! CursorDialog dialog = new CursorDialog.Builder(this) .full() .setView(iv) .builder(); dialog.show(3000); }

上面就是显示启动页面的常用方法。 第一种方法也是我建议使用的,这个可以响应很多事件,并且可以播放MP4文件当启动页面等等,移植也是非常方便。 需要上面程序源码可以留言。

z2



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3