Android小项目之三 splash界面
按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点也都能说出了123来,但是这些孤立的点终究显得太零散了,因此,我想从今天开始,以最经典的手机安全卫士项目为例,自己锻炼一下,也是想和大家交流交流,希望大家都能给出见解,共同进步
三、splash界面
1.工程mobilesafe
最低兼容版本设为2.2(很多公司都2.3了)
使用4.1编译
2.splashActivity
一般软件都会有这样一个界面
3.splash界面的作用:
1展示产品的logo,提升产品的知名度(脑残的广告很可能提高知名度)
2应用程序的初始化操作、读取配置文件、加载设置
3连接服务器,获取最新信息,检查版本号
4联网校验检查引用程序的完整性
4.做出splash界面布局
使用RelativeLayout布局。
1设置背景图片。
android:background="@drawable/splash_main_bg"
2预览界面去主题
选择Theme,选Theme.Black.NoTitleBar
这样的配置并不会生效,若想生效,要到清单文件里面配置
3清单文件中去主题
在activity标签下加
android:theme="@android:style/Theme.Black.NoTitleBar"
4界面最中间放版本号
TextView
命名规范:id:控件类型_在哪个界面_功能
阴影效果:android:shadowColor
android:shadowDx
android:shadowDy
具体代码:
<TextView
android:shadowColor="#ffffff"
android:shadowDx="3"
android:shadowDy="3"
android:shadowRadius="3"
android:id="@+id/tv_splash_version"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:textColor="#000000"
android:textSize="16sp"
android:text="版本号:"/>
报出错误:这里我们可以把它忽略掉
The graphics preview in the layout editor may not be accurate:
Paint.setShadowLayer is not supported. (Ignore for this session)
5版本号下方放进度条
具体代码:
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_below="@id/tv_splash_version"/>
5.我们现在需要改变版本号中的内容
版本号是在清单文件中设置的,我们要定义一个方法,获取清单文件中的版本号。
用到PackageManager、PackageInfo类。
定义方法getVersion(),获取版本号
具体代码:
private String getVersion() {
try {
PackageManager pm = getPackageManager();
PackageInfo packInfo = pm.getPackageInfo(getPackageName(), 0);
return packInfo.versionName;
} catch (NameNotFoundException e) {
e.printStackTrace();
//cannot reach
return "";
}
}
然后
tv_splash_version.setText("版本号:"+getVersion());
便可获取清单文件中的版本号并设在布局中的TextView中。
Android小项目之三 splash界面的更多相关文章
- Android小项目之五 splash动画效果
------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...
- Android小项目之八 界面细节
------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...
- Android小项目之十一 应用程序的主界面
------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...
- Android小项目练习之一 项目简介
------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...
- Android小项目之十二 设置中心的界面
------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...
- Android小项目之十 应用程序更新的签名问题
------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...
- Android小项目之四 自动更新检查的逻辑
------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...
- Android小项目之二 代码的组织结构
------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...
- 【Android小项目】找不同,改编自"寻找房祖名"的一款开源小应用。
近期在微信朋友圈"寻找房祖名"和"万里寻刀"这类小游戏比較火.我试着写了一个android版本号的,里面全是一系列的形近字,实现原理非常easy:用一个Grid ...
随机推荐
- StackOverflowError 和 OutOfMemoryError
package cn.zno.outofmomery; import java.util.ArrayList; import java.util.List; public class Test { v ...
- if condition volist
<table class="table table-hover table-striped"> <if condition="$order_list e ...
- C#用串口接收事件接不全数据的处理
问题描述:都知道用事件dataReceive来处理串口非常的方便,但当一次的数据过长时,就会出现截断数据的情况.比如说发一个指 令,返回一个30个字节的数据,但上位机则分两次来接收者30个数据. 解决 ...
- js 对象与函数的区别
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- <创建和销毁对象>经验法则——考虑用静态工厂方法代替公有构造方法
一.引出静态工厂方法 对于java类而言,为了让使用者获取它自身的一个实例化对象,会有以下方法: 1.该类提供一个公有的构造方法.在这种情况下,程序可以通过多个“new 构造方法”语句来创建类的任意多 ...
- XHTML标签的嵌套规则--很基础很重要
XHTML的标签有许多:div.ul.li.dl.dt.dd.h1~h6.p.a.addressa.span. strong……我们在运用这些标签搭建页面结构的时候,是可以将它们无限嵌套的,但是,嵌套 ...
- NFS错误Starting NFS quotas: Cannot register service: RPC: Unable to receive; errno=Connection refused
NFS报错一例 [root@bjs0- ~]# /etc/init.d/portreserve start Starting portreserve: ...
- PhoneGap+jQuery Mobile+Rest 访问远程数据
最近研究Mobile Web技术.发现了一个好东西-PhoneGap! 发现用PhoneGap+jQuery Mobile是一个很完美的组合! 本实例通俗易懂.适合广大开发人群:高富帅.白富美.矮穷戳 ...
- Codeforces Good Bye 2015 C. New Year and Domino 前缀和
C. New Year and Domino 题目连接: http://www.codeforces.com/contest/611/problem/C Description They say &q ...
- Qt学习之自定义窗口部件
自定义Qt窗口部件 实现一个十六进制的SpinBox,一般SpinBox只支持十进制整数,但是可以子类化方法实现该功能 需重新实现以下虚函数 virtual QString textFromValue ...