Android VR Player(全景视频播放器) [5]:简单的欢迎界面
2017-05-31 10:55
501 查看
Android VR Player(全景视频播放器) [5]:简单的欢迎界面
欢迎界面
在继续下一部分,即视频列表实现的介绍前,分享一下简单的欢迎界面的实现。一来是可以整合一下前面说的侧滑菜单和底部导航,二来是欢迎界面用到的子线程和TimerTask等知识是后续的部分所需的,这里就先提前说一下啦。欢迎界面虽然名曰欢迎,其实并没有太大的“欢迎”意义,一般用户希望的是赶紧进入主页面。但对于应用设计开发人员来说,欢迎页面可以用来展示应用的版本,品牌标识等,可以起到强调品牌的作用,当然也可以把广告投放在这里。欢迎界面最大的用处是,在用户未进入主界面前加载好一些资源,比如网络资源等,这样用户进入主界面时就不用再等待资源加载,从而提升用户体验。需要注意的是欢迎界面和引导页的不同,引导页一般是安装后首次使用时才出现,用来展示一些应用的功能用法,更新的特性等等。
简单实现
欢迎界面的实质就是让用户在进入主界面前等几秒钟,当时有过Android开发经历的同学都知道,一旦我们的应用失去响应5秒以上,就会出现ANR(Application Not Responding)错误,导致应用被系统终止。所以,不能直接用sleep去让主线程“睡”上几秒钟,而是需要在子线程中去做这件事。了解了这一点,实现的思路就很清晰了:首先有个WelcomeActivity,用来展示欢迎界面;然后在WelcomeActivity中开启一个子线程;子线程要做的任务很简单,即是在启动应用几秒后,开启MainActivity,进入主界面。下面就一步步说明如何实现这个思路。创建WelcomeActivity
这个应该很容易,创建一个WelcomeActivity,并设计它的布局。需要注意的是,因为WelcomeActivity现在成为了应用启动的第一个Activity,所以需要在AndriodManifest配置文件中将WelcomeActivity设置为启动Activity。public class WelcomeActivity extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_welcome); } }
(WelcomeActivity.java代码片段)
WelcomeActivity的代码现在很简单,只是设置了这个activity的布局,后面我们会在这个activity中添加其他的一些代码。
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/welcomeLayout"> <!-- picture from : http://baike.baidu.com --> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:background="@drawable/welcome" /> </FrameLayout>
(activity_welcome.xml代码片段)
WelcomeActivity的布局很简单,展示一张图片,当然也可以复杂些,比如用个TextView来展示版本等。
在WelcomeActivity中创建子进程
可以用TimerTask来实现停顿几秒后来进入主界面,当然也可以直接用Thread来创建一个子线程。用TimerTask:
Timer mTimer = new Timer(); TimerTask mTimerTask = new TimerTask() { @Override public void run() { //在run方法中跳转到mainActivity } }; mTimer.schedule(mTimerTask,5000);
用Thread:
Thread startThread =new Thread(){ public void run(){ try{ sleep(5000); }catch(Exception e){ e.printStackTrace(); } finally { //在finally中跳转到MainActivity } } }; startThread.start();
前面说过欢迎界面的最大用处是提前加载好一些资源,提升用户的使用体验,这部分的工作就可以通过在WelcomeActivity中创建的子进程中去完成。
进入MainActivity
进入MainActivity涉及到Activity之间的跳转,一般的写法为:Intent intent = new Intent(WelcomeActivity.this, MainActivity.class); startActivity(intent); finish();
我们先构建一个意图,这个“意图”用WelcomeActivity.this作为上下文,用MainActivity.class 作为目标Activity。很明显我们的“意图”是用WelcomeActivity.this作为上下文来启动MainActivity。这样的意图是显式意图;另外一种方式是隐式意图,这里不再说明。startActivity函数根据指定的意图来启动一个Activity,finish()函数表示结束当前的Activity,即WelcomeActivity。针对一般的Activity界面跳转,也可以把上面的这段代码封装一下,
public static void actionStart(Context context, String arg){ Intent intent = new Intent(context,MainActivity.class); intent.putExtra("arg",arg); context.startActivity(intent); }
把这个静态方法提供给其他类来使用,这样做会比较规范,特别是需要在类和类之间传递一些参数时就显得很实用了(看了第一行代码后学到的)。比如在WelcomeActivity中你可以用这样的方式来启动MainActivity
MainActivity.actionStart(WelcomeActivity.this,"hello main activity");
我们再为这个这个欢迎界面添加一点动画效果
AlphaAnimation welcomeAnimation = new AlphaAnimation(1.0f,0.1f); welcomeAnimation.setDuration(5000); welcomeLayout.setAnimation(welcomeAnimation);
这个动画实现一种渐淡的效果。
编辑AndriodManifest
最后别忘了修改AndriodManifest配置文件,首先注册我们创建的WelcomeActivity,然后让它成为启动Activity。<activity android:name=".WelcomeActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".MainActivity"> </activity>
运行调试
调试运行,暂时没有太大的问题,上方的ActionBar为了美观可以考虑去掉。
整合
现在可以将前面的侧滑菜单以及底部导航部分整合到一起,再加上WelcomeActivity,就算是一个半成品的界面设计了。测试源码
链接: https://pan.baidu.com/s/1c1QG7V6 密码: 9hfwReference
Android实现进入界面时,加载欢迎界面Android写一个简单的欢迎界面
相关文章推荐
- Android VR Player(全景视频播放器) [1]:项目介绍
- Android VR Player(全景视频播放器) [2]:开发说明
- Android VR Player(全景视频播放器) [3]:底部导航的实现
- Android VR Player(全景视频播放器) [7]:视频列表的实现-网络视频
- Android VR Player(全景视频播放器) [4]:侧滑菜单的实现
- Android最简单的欢迎界面(一)
- Android开发学习笔记(六):最简单的办法实现APP欢迎界面
- Android基础学习总结(十六)——基于ijkplayer封装支持简单界面UI定制的视频播放器
- Android多媒体开发【1】-- 利用SurfaceView + MediaPlayer开发最简单的视频播放器
- Android 全景视频播放器(VR视频播放器探索二)
- Android 视频播放器之JieCaoVideoPlayer的简单实用以及自定义UI
- Android 全景视频播放器(VR视频播放器探索)
- Android简单扫码APP设计——从欢迎、登陆到主功能界面
- Android多媒体开发【1】-- 利用SurfaceView + MediaPlayer开发最简单的视频播放器
- Android写一个简单的欢迎界面
- android 怎么编写一个简单的聊天界面
- Android开发首页欢迎界面跳转功能的实现
- Android笔记—如何制作欢迎界面
- android欢迎界面动画收集
- Android开发首页欢迎界面跳转功能的实现