Android项目实战欢迎界面

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

drawable

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

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

SplashActivity

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

R报红

再而处理代码部分

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>

转载于:https://www.cnblogs.com/dashucoding/p/10330406.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/412368.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[vue] 怎么捕获组件vue的错误信息?

[vue] 怎么捕获组件vue的错误信息&#xff1f; errorHandler个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

flume记录(2)监控文件和目录,对hdfs操作

flume-ng agent --conf-file filename --name a1 -Dflume.root.loggerINFO,console 监控某个文件&#xff1a;配制如下 # Name the components on this agent a1.sources r1 a1.sinks k1 a1.channels c1# Describe/configure the source            进行如下配制…

Oracle中5个核心Sql语句的基本构造:Select、Insert、Update、Delete和Merge

Sql语言提供了很多不同的选择来得到同样的结果集&#xff0c;关键是需要搞清楚在不同的使用场景下哪种构造是最高效的。 1.Select语句 Select语句用来从一个表中&#xff0c;或者其他数据库对象中提取数据。 select <column list> from <table or view> where <…

[vue] 如果将axios异步请求同步化处理?

[vue] 如果将axios异步请求同步化处理&#xff1f; // 统一处理axios请求async getHistoryData (data) {try {let res await axios.get(/api/survey/list/, {params: data})this.tableData res.data.resultthis.totalData res.data.count} catch (err) {console.log(err)al…

在Airtest中如何使用无线模式控制手机

在Airtest中如何使用无线模式控制手机 在使用Airtest超快速开发App爬虫文章的最后&#xff0c;我们留了一个尾巴&#xff1a;如何启动Airtest的无线模式&#xff0c;不用USB线就能控制手机&#xff1f; 本文将会讲到具体的做法。做法分为两种&#xff1a;第一种是在Airtest的ID…

[vue] 说说你对vue的extend(构造器)的理解,它主要是用来做什么的?

[vue] 说说你对vue的extend&#xff08;构造器&#xff09;的理解&#xff0c;它主要是用来做什么的&#xff1f; extend的作用是继承当前的Vue类&#xff0c;传入一个extendOption生成一个新的构造函数。在extend的时候会进行mergeOption&#xff0c;融合Vue原型上的baseOpti…

使用Oracle做定时任务

declare jobno number;begin dbms_job.submit(jobno,cx_qcsiteadmin_db.qp_pre_load_report;,trunc(sysdate),trunc(sysdate)1);--每天零点更新 commit;end;

tab页

图片&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title></title> <style type"text/css"> /* 上边tab */ html {font-size: 14px }body {margin: 0;padding:…

[vue] vue-loader是什么?它有什么作用?

[vue] vue-loader是什么&#xff1f;它有什么作用&#xff1f; 解析和转换 .vue 文件&#xff0c;提取出其中的逻辑代码 script、样式代码 style、以及 HTML 模版 template&#xff0c;再分别把它们交给对应的 Loader 去处理。个人简介 我是歌谣&#xff0c;欢迎和大家一起交…

Day 14 20190129 老男孩python学习第14天 内容整理

码代码&#xff0c;6个小时。 # 1. 请用代码实现&#xff1a; 利用下划线将列表的每一个元素拼接成字符串&#xff0c; li [alex, eric, rain] # li [alex, eric, rain] # print(_.join(li))# 2. 查找列表中元素&#xff0c;移除每个元素的空格&#xff0c;并查找以a或A开头并…

[vue] 为什么我们写组件的时候可以写在.vue里呢?可以是别的文件名后缀吗?

[vue] 为什么我们写组件的时候可以写在.vue里呢&#xff1f;可以是别的文件名后缀吗&#xff1f; 也可以写为js,jsx,ts,tsx这种个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通…

Introduction to ES6上课笔记

课程链接&#xff1a;https://scrimba.com/g/gintrotoes6 这个网站有几个热门的前端技术栈的免费课程&#xff0c;上课体验除了英语渣只能看代码理解听老师讲的一知半解之外&#xff0c;是极佳的学编程的网站了。你跟老师同一个编译器上编译代码&#xff0c;超强体验&#xff0…

[vue] 你了解什么是高阶组件吗?可否举个例子说明下?

[vue] 你了解什么是高阶组件吗&#xff1f;可否举个例子说明下&#xff1f; 高阶组件 高阶组件介绍 vue 高阶组件的认识&#xff0c;在React中组件是以复用代码实现的&#xff0c;而Vue中是以mixins 实现&#xff0c;并且官方文档中也缺少一些高阶组件的概念,因为在vue中实现…

修改Tomcat端口号

8080是Tomcat服务器的默认端口号。我们可以通过修改Tomcat/conf文件夹下的主配置文件server.xml来更改端口号。用记事本打开server.xml文件&#xff0c;找出出现以下代码的部分&#xff1a; <!-- A "Connector" represents an endpoint by which requests are rec…

序列化与反序列化的简单认识

把对象转换为字节序列的过程称为对象的序列化。  把字节序列恢复为对象的过程称为对象的反序列化。  对象的序列化主要有两种用途&#xff1a;  1&#xff09; 把对象的字节序列永久地保存到硬盘上&#xff0c;通常存放在一个文件中&#xff1b;  2&#xff09; 在网络…

[vue] vue怎么缓存当前的组件?缓存后怎么更新?

[vue] vue怎么缓存当前的组件&#xff1f;缓存后怎么更新&#xff1f; keep-alive 通过actived钩子个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

添加多个tomcat服务目录

tomcat默认的web服务的根目录为Tomcat 6.0\webapps\Root 如果将JSP文件保存至Root目录中&#xff0c;应当在浏览器的地址栏中输入&#xff1a; http://localhost:8080/MyJsp.jsp 我们也可以建立新的Web服务目录。假设要将c:\TEMP作为服务目录&#xff0c;并让用户使用temp虚…

JMeter 性能测试实例

一、性能测试分类&#xff1a; 1、基准测试 2、并发测试 3、负载测试 4、压力测试 1、基准测试&#xff1a; 也是单用户测试&#xff0c;测试环境确定以后&#xff0c;对业务模型中的重要业务做单独的测试&#xff0c;获取单用户运行时的各项性能指标&#xff0c;为多用户并发测…

[vue] vue和微信小程序写法上有什么区别?

[vue] vue和微信小程序写法上有什么区别&#xff1f;写了vue项目和小程序&#xff0c;发现二者有许多相同之处&#xff0c;在此想总结一下二者的共同点和区别。 一、生命周期 先贴两张图&#xff1a; vue生命周期 小程序生命周期 相比之下&#xff0c;小程序的钩子函数要简…

java 转换url中文参数

当使用request对象获取用户提交的汉字字符时&#xff0c;会出现乱码问题&#xff0c;所以对含有汉子字符的信息必须进行特殊的处理。 首先&#xff0c;将获取的字符串用IOS-8859-1进行编码&#xff0c;并将编码存放到一个字节数组中&#xff0c;然后再将这个数组转换为字符串对…