资讯专栏INFORMATION COLUMN

《Android项目实战-博学谷》应用图标&欢迎界面

0x584a / 2252人阅读

摘要:前言本项目使用作为开发工具,参照传智播客教材项目实战博学谷创建项目可参照落萚简书文集安全卫士开发笔记,里面详细讲述过项目的创建以及上传,在此不再赘述应用图标自适应图标为新增的一种全新应用图标样式,具体可以参照设计师兼开发者的以下三篇文章英文

前言

本项目使用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 {

    @Override
    protected 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有一个线程,该线程不断执行task
        Timer timer = new Timer();
        //TimerTask实现runnable接口,TimerTask类表示在一个指定时间内执行的task
        TimerTask timerTask = new TimerTask() {
            @Override
            public 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


    


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

AndroidManifest.xml




    
    
    
    
        
            

            
        
    


运行效果

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/68066.html

相关文章

  • Android项目实战-博学》设置密保&找回密码

    摘要:设置密保找回密码界面思路由于设置密保和找回密码两个界面十分相似,代码逻辑也十分相似,因此这两个界面可以使用同一个布局文件和同一个来处理,首先导入所需图片资源文件,再创建,将布局改为具体代码如下先将设置密保部分隐藏,您的用户名是请输 设置密保&找回密码界面 思路 由于设置密保和找回密码两个界面十分相似,代码逻辑也十分相似,因此这两个界面可以使用同一个布局文件和同一个 Activity 来...

    binaryTree 评论0 收藏0
  • Android项目实战-博学》登录&注册

    摘要:标题栏思路由于项目中大部分界面都有一个后退键和一个标题栏,为避免代码冗杂以及便于利用,我们可以将后推荐和标题栏单独抽取出来定义一个标题栏布局,在目录下新建一个,选用具体代码如下注册界面思路将图片导入目录下,在包下创建,修改为布局具体代码如 标题栏 思路 由于项目中大部分界面都有一个后退键和一个标题栏,为避免代码冗杂以及便于利用,我们可以将后推荐和标题栏单独抽取出来定义一个标题栏布局,在...

    Donald 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<