------- 源自梦想永远是你IT事业的好友、只是勇敢地说出我学到! ----------

按惯例,写在前面的:可能在学习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中。

------- 源自梦想永远是你IT事业的好友、只是勇敢地说出我学到! ----------

Android小项目之三 splash界面的更多相关文章

  1. Android小项目之五 splash动画效果

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  2. Android小项目之八 界面细节

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  3. Android小项目之十一 应用程序的主界面

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  4. Android小项目练习之一 项目简介

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  5. Android小项目之十二 设置中心的界面

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  6. Android小项目之十 应用程序更新的签名问题

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  7. Android小项目之四 自动更新检查的逻辑

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  8. Android小项目之二 代码的组织结构

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  9. 【Android小项目】找不同,改编自&quot;寻找房祖名&quot;的一款开源小应用。

    近期在微信朋友圈"寻找房祖名"和"万里寻刀"这类小游戏比較火.我试着写了一个android版本号的,里面全是一系列的形近字,实现原理非常easy:用一个Grid ...

随机推荐

  1. RedHat/CentOS6.4---永久关闭iptables

    今天无意中发现一个现象,当我关闭iptables并且停止iptables服务,但是总会有一些出奇的事情发生,当我再次启动系统,查看iptables状态,iptables又自动开启,很是无奈啊!在Red ...

  2. Javascript中的数据类型之旅

    虽然Javascript是弱类型语言,但是,它也有自己的几种数据类型,分别是:Number.String.Boolean.Object.Udefined.Null.其中,Object属于复杂数据类型, ...

  3. Web Service实现分布式服务的基本原理

    简单的说, 就是客户端根据WSDL 生成 SOAP 的请求消息, 通过 HTTP 传输方式(也可以是其它传输方式, 如 FTP 或STMP 等,目前 HTTP 传输方式已经成为 J2EE Web Se ...

  4. iOS Ping++前端集成支付

    直接上代码 /* 获取订单charge 1.buyerId  买家ID 2.sellerId  卖家ID 3.liveId    直播间ID 4.goodCount 商品数量 5.status    ...

  5. 实现jsp网页设为首页功能

    var url = location.href; var browser_name = navigator.userAgent; if(browser_name.indexOf('Chrome')!= ...

  6. 基于TF/IDF的聚类算法原理

        一.TF/IDF描述单个term与特定document的相关性TF(Term Frequency): 表示一个term与某个document的相关性. 公式为这个term在document中出 ...

  7. maven 基础整理

    教程 依赖管理 IDE设置121 IntelliJ,Edit Configurations中添加maven,选中 Resolve Workspace artifacts能自动编译依赖模块 内置命令 m ...

  8. UI:自定义键盘的实现

    自定义我的封装键盘,并在试图控制器里对接 (解决多 输入框问题,把输入框存入到可变数组) @implementation AppDelegate - (BOOL)application:(UIAppl ...

  9. Oracle Job相关

    Oracle JOB的建立,定时执行任务      begin            sys.dbms_job.submit(job => :job,                       ...

  10. 【转】深入浅出REST

    转自:http://www.infoq.com/cn/articles/rest-introduction 不知你是否意识到,围绕着什么才是实现异构的应用到应用通信的“正确”方式,一场争论正进行的如火 ...