前言

本项目使用Android Studio 3.0.1作为开发工具,参照传智播客教材《Android项目实战——博学谷》


创建项目

可参照落萚简书文集——Android安全卫士开发笔记,里面详细讲述过项目的创建以及上传Github,在此不再赘述


应用图标

自适应图标为 Android O 新增的一种全新应用图标样式,具体可以参照

Google 设计师兼开发者 Nick Butcher 的以下三篇文章:
Understanding Android Adaptive Icons
Designing Adaptive Icons
Implementing Adaptive Icons

英文不好的朋友可以直接看国内译者 HarveyJanson 的文章:
Android O 自适应图标的意义何在?Google 设计师给你答案 | 科普
设计自适应图标
实现自适应图标

但最好还是多看官方文档,而且看英文版的,因为新的内容经常还未被汉化,于是会出现同一网址不同语言显示的完全不是同个东西的窘境

本人参照了 Adaptive Icons ,Create App Icons with Image Asset Studio。

首先把设计好的前景图和背景图放置在项目中,本人将这两张图片放置在了 drawable 目录下,然后在 res 目录 右键-> New -> Image Asset

然后在 Icon Type中选择 Launcher Icons (Adaptive and Legacy),在下方的 Foreground Layer 选项卡中的 Asset Type 选中 Image ,在 Path 选择项目中的图片路径,同理设置背景图片,为了兼容低版本的系统,Image Asset Studio 还会生成适用于低版本的图片,然后根据各自需求调整缩放等参数即完成应用图标的设置。


欢迎界面

首先同理把欢迎界面的图片导入到drawable目录下,在导入时 Android Studio 会提示如下

具体本人尚未弄明白,待理解后会重新补全本部分内容,在此本人选了第一个

然后创建一个包名为activity的包,在activity下创建SplashActivity

此时会发现 R 报红,只需要将光标锁定到R之后即会提示需要导入R包,如未提示,则手动敲击 Alt+Enter 选中 import class 即可导入

再而处理代码部分

SplashActivity

package cn.edu.lt.android.boxueguapp.activity;import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;import java.util.Timer;
import java.util.TimerTask;import cn.edu.lt.android.boxueguapp.MainActivity;
import cn.edu.lt.android.boxueguapp.R;public class SplashActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_splash);//设置此界面为// 竖屏setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);init();}private void init() {TextView tv_version = (TextView)findViewById(R.id.tv_version);try {PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0);tv_version.setText("V" + packageInfo.versionName);} catch (PackageManager.NameNotFoundException e) {e.printStackTrace();tv_version.setText("V");}//利用timer让此界面延迟3秒后跳转,timer有一个线程,该线程不断执行taskTimer timer = new Timer();//TimerTask实现runnable接口,TimerTask类表示在一个指定时间内执行的taskTimerTask timerTask = new TimerTask() {@Overridepublic void run() {//发送intent实现页面跳转,第一个参数为当前页面的context,第二个参数为要跳转的主页Intent intent = new Intent(SplashActivity.this, MainActivity.class);startActivity(intent);SplashActivity.this.finish();//跳转后关闭当前欢迎页面}};timer.schedule(timerTask,3000);//调度执行timerTask,第二个参数传入延迟时间(毫秒)}
}

创建 Activity 时同时自动创建了一个布局文件,首先修改为 RelativeLayout 布局

具体代码如下:

activity_splash.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width = "match_parent"android:layout_height="match_parent"android:background="@drawable/launch_bg"><TextViewandroid:id="@+id/tv_version"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textColor="@android:color/white"android:textSize="14sp"android:layout_centerInParent="true"/><!--显示版本号--></RelativeLayout>

最后在清单文件 AndroidManifest.xml 中配置欢迎界面,将应用入口修改为欢迎界面,再去除 ActionBar 效果

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cn.edu.lt.android.boxueguapp"><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/Theme.AppCompat.NoActionBar"><!--原为android:theme="@style/AppTheme"--><!--去除ActionBar标题栏--><activity android:name=".MainActivity"></activity><activity android:name=".activity.SplashActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity>
</application></manifest>

运行效果

《Android项目实战-博学谷》应用图标欢迎界面相关推荐

  1. 基于eclipse的android项目实战—博学谷(二十三)其他功能

    本项目是用eclipse软件编写,经过我的亲自实践,其真实有效,希望能给您有所帮助 项目版本:android5.1.1 ADT版本:23.0.6 SDK版本:24.4.1 运行模拟器:夜神模拟器 若有 ...

  2. 关于《基于eclipse的android项目实战—博学谷》的问题,为了这个差点疯了

    前面都是废话,想要干的直接点我你就对了 <基于eclipse的android项目实战-博学谷>这篇文章已经一个星期没有更新了,原因是后面出了些问题,然后我花了整整一个星期才解决. < ...

  3. 基于eclipse的android项目实战—博学谷(十九)播放不同视频(本地视频)

    BoXueGu资源下载链接: https://download.csdn.net/download/hyh/19477319 BoXueGu图片资源下载(免费): https://yuyunyaohu ...

  4. 基于eclipse的android项目实战—博学谷(十八)播放不同视频(网络视频)

    相信经过了这么长时间,小伙伴们应该都发现了博学谷这个项目存在问题,播放视频的时候,无论播放任何一个章节,他播放的视频都只是一个,也就是VideoPlayActivity.java里面写死的那个(myv ...

  5. android项目实战博学谷百度云,Android项目实战系列—基于博学谷(七)课程模块(下)...

    由于这个模块内容较多,分为上.中.下 三篇博客分别来讲述,请耐心阅读. 课程模块分为四个部分 [ ] [课程列表]() [ ] [课程详情]() [x] [视频播放]() [x] [播放记录]() 课 ...

  6. 基于eclipse的android项目实战—博学谷(新功能四)签到

    在前面博学谷项目的基础上进行改善和增加新功能 源码资源下载:https://download.csdn.net/download/hyh17808770899/19844673 博学谷的第四个新功能: ...

  7. 基于eclipse的android项目实战—博学谷(新功能五)更换头像

    在前面博学谷项目的基础上进行改善和增加新功能 源码资源下载:https://download.csdn.net/download/hyh17808770899/19844673 博学谷的第五个新功能: ...

  8. 基于eclipse的android项目实战—博学谷(新功能二)欢迎界面倒计时

    在前面博学谷项目的基础上进行改善和增加新功能 源码资源下载:https://download.csdn.net/download/hyh17808770899/19844673 博学谷的第二个新功能: ...

  9. android项目实战博学谷源码_阿里爆款SpringBoot项目实战PDF+源码+视频分享

    前言 关于SpringBoot网络上有太多的博客跟资料,其影响力想必不用我多说了.它作为当前最流行的微服务框架,不但使用更加简单,而且功能更加丰富.性能更加稳定和健壮.其"约定大于配置&qu ...

最新文章

  1. 机器学习入门(01)— 感知机概念、实现、局限性以及多层感知机
  2. c语言sleep_编程代码:用C语言来实现下雪效果,这个冬天,雪花很美
  3. oralce创建用户
  4. C++golden section search黄金分割搜索的实现算法(附完整源码)
  5. 分布式6大核心专题_分布式Session
  6. 理论不只是理论的zhajinhuagame
  7. java框架实例---自定义标签实例
  8. 启动菜单(Boot Menu)快捷键列表
  9. 学生选课系统代码-2view视图层代码【MVC--v】代码
  10. lcd1602c语言程序分析,全方位解析LCD1602特性及单片机显示应用
  11. php流水系统,php流水账txt数据库版
  12. 国内外优秀呼叫中心系统简介
  13. PDF文字识别三步搞定,这样的方法你该知道
  14. Excel---饼图美化与ppt图表
  15. 群发邮件软件和邮件群发工具哪个好?如何群发邮件不进入垃圾箱
  16. css表格文字超数量就竖排_CSS奇特技巧:控制文字竖排
  17. 计算机vb基础知识,计算机VB基础知识---知识导学.doc
  18. php的vget方法,ext_lanzou.php
  19. 区块链技术系列(3)- Fabric基础架构原理
  20. OpenCV简单实现图片素描

热门文章

  1. matlab曲线拟合详解(含fit、fittype函数及fitoptions设置)
  2. safair下html换行产生的间距设置font-size:0无效
  3. safari浏览器的一些兼容性问题总结
  4. 微信公众平台最实用的工具和技巧大集合
  5. python3数据库框架_python3大框架简介 小收藏
  6. 国内App推广终极37个方法
  7. Rounded Numbers
  8. xmind各版本区别_思维导图工具 XMind 出了一个高颜值版:XMind ZEN
  9. reduce()实现数组去重
  10. 浏览器退出全屏快捷键