Android适配之适配不同的系统版本
来源:互联网 发布:python统计词频 编辑:程序博客网 时间:2024/05/17 03:05
Android适配之适配不同的系统版本
前言
新的Android版本会为你的app提供更棒的APIs,但你的app仍应该支持旧版本的Android,直到更多的设备升级到新版本为止。这节课程向你展示如何在利用新的APIs的同时仍支持旧版本Android。
Platform Versions的控制面板会定时更新,通过统计访问Google Play Store的设备数量,来显示运行每个版本的安卓设备的分布。一般情况下,在更新你的app至最新Android版本时,最好先保证你的新版app可以支持90%的设备使用。
Tip:为了能在几个Android版本中都能提供最好的特性和功能,你应该在你的app中使用Android Support Library,它能使你的app能在旧平台上使用最近的几个平台的APIs。
指定最小和目标API级别
AndroidManifest.xml文件中描述了你的app的细节,并且标明app支持哪些Android版本。具体来说,元素中的minSdkVersion和targetSdkVersion 属性,标明在设计和测试app时,最低兼容API的级别和最高适用的API级别(这个最高的级别是需要通过你的测试的)。例如:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... > <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" /> ...</manifest>
随着新版本Android的发布,一些风格和行为可能会改变,为了能使你的app能利用这些变化,而且能适配不同风格的用户的设备,你应该设置targetSdkVersion的值去匹配最新的可用Android版本
在运行时检查系统版本
Android在Build常量类中提供了对每一个版本的唯一代号,在你的app中使用这些代号可以建立条件,保证依赖于高级别的API的代码,只会在这些API在当前系统中可用时,才会执行。
private void setUpActionBar() { // Make sure we're running on Honeycomb or higher to use ActionBar APIs if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); }}
Note:当解析XML资源时,Android会忽略当前设备不支持的XML属性。所以你可以安全地使用较新版本的XML属性,而不需要担心旧版本Android遇到这些代码时会崩溃。例如如果你设置targetSdkVersion=”11”,你的app会在Android 3.0或更高时默认包含ActionBar。然后添加menu items到action bar时,你需要在你的menu XML资源中设置android:showAsAction=”ifRoom”。在跨版本的XML文件中这么做是安全的,因为旧版本的Android会简单地忽略showAsAction属性(就是这样,你并不需要用到res/menu-v11/中单独版本的文件)。
使用平台风格和主题
Android提供了用户体验主题,为app提供基础操作系统的外观和体验。这些主题可以在manifest文件中被应用于你的app中.通过使用内置的风格和主题,你的app自然地随着Android新版本的发布,自动适配最新的外观和体验.
- 使你的activity看起来像对话框:
<activity android:theme="@android:style/Theme.Dialog">
- 使你的activity有一个透明背景:
<activity android:theme="@android:style/Theme.Translucent">
- 应用在/res/values/styles.xml中定义的自定义主题:
<activity android:theme="@style/CustomTheme">
- 使整个app应用一个主题(全部activities)在元素中添加android:theme属性:
<application android:theme="@style/CustomTheme">
- Android适配之适配不同的系统版本
- Android适配之适配不同的系统版本
- Android适配不同的系统版本
- Android兼容不同的设备之适配不同的系统版本
- APP兼容不同的设备之适配不同的系统版本
- android不同的定制系统的机型适配和不同版本系统api sdk的适配
- android 不同版本的适配
- 兼容不同的设备(2)---适配不同的系统版本
- Android适配不同版本、屏幕
- Android - 资源xml文件适配不同的版本
- APP如何适配不同的Android版本
- iOS开发之不同版本适配问题
- IOS开发之不同版本适配问题
- 系统库设置可选的是配不同手机版本
- Android Training学习笔记之适配不同的设备
- 沉浸式状态栏适配不同的版本
- 不同版本的适配及Material Design
- 沉浸式状态栏适配不同的版本
- 使用maven运行Java main的2种方式
- android环境,使用URLconnetion下载https图片异常的解决方法
- mongoDB的基本操作
- 编译安装PHP 依赖安装包
- hadoop安全机制Kerberos详细介绍
- Android适配之适配不同的系统版本
- 每日一命令 ln
- ubuntu14.04中gedit打开txt文档出现乱码
- java同步代码块 实现的买票功能
- 深入浅出RxJava(一:基础篇)
- Oralce drop all tables
- android studio Cannot reload AVD list问题
- [python]pygame游戏开发学习(二)
- 黑马程序员-----十二、java基础IO流技术总结二