-------
源自梦想、永远是你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事业的好友、只是勇敢地说出我学到! ----------