Android入门之支持不同的设备
支持不同的设备包括:
一、支持不同的语言
应用程序中的UI部分字符串定义在res/values/strings.xml文件中,这是一个很好的习惯!
MyProject/ res/ values/ strings.xml values-es/ strings.xml values-fr/ strings.xml
不同的语言要放在合适的目录下,例如:
English (default locale), /values/strings.xml
:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="title">My Application</string> <string name="hello_world">Hello World!</string> </resources>
Spanish, /values-es/strings.xml
:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="title">Mi Aplicación</string> <string name="hello_world">Hola Mundo!</string> </resources>
French, /values-fr/strings.xml
:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="title">Mon Application</string> <string name="hello_world">Bonjour le monde !</string> </resources>
二、支持不同的屏幕尺寸及分辨率
- 一般有4种屏幕尺寸: small, normal, large, xlarge
- 一般有4种屏幕分辨率: low (ldpi), medium (mdpi), high (hdpi), extra high (xhdpi)
-
MyProject/ res/ layout/ main.xml layout-land/ main.xml
MyProject/ res/ layout/ # default (portrait) main.xml layout-land/ # landscape main.xml layout-large/ # large (portrait) main.xml layout-large-land/ # large landscape main.xml
- xhdpi: 2.0
- hdpi: 1.5
- mdpi: 1.0 (baseline)
- ldpi: 0.75
- 接下来,把图片放在相对应的目录下
-
MyProject/ res/ drawable-xhdpi/ awesomeimage.png drawable-hdpi/ awesomeimage.png drawable-mdpi/ awesomeimage.png drawable-ldpi/ awesomeimage.png
三、支持不同的系统平台版本
指定最小和目标API级别:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" ...>
<uses-sdkandroid:minSdkVersion="4"android:targetSdkVersion="15"/>
...
</manifest>
2、在运行时检查系统版本:
private void setUpActionBar(){
// Make sure we're running on Honeycomb or higher to useActionBar APIs
if (Build.VERSION.SDK_INT>= Build.VERSION_CODES.HONEYCOMB){
ActionBar actionBar= getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
}
}
3、使用平台风格和主题:
使用对话框主题:
<activity android:theme="@android:style/Theme.Dialog">
使用透明背景的主题:
<activity android:theme="@android:style/Theme.Translucent">
在 /res/values/styles.xml 下定义自己的风格主题:
<activity android:theme="@style/CustomTheme">
如果要定义所有页面的风格主题,则把 android:theme 添加到<application> 元素中:
<applicationandroid:theme="@style/CustomTheme">
相关文章
- 全新推出 – 适用于 Android 和 iOS 的 AWS Amplify 库
- 使用 AWS FireLens 轻松实现 AWS Fargate 容器日志处理
- 深度解析 AWS Firecracker 原理篇 – 虚拟化与容器运行时技术
- 现在可用:裸机基于 Arm 的 EC2 实例
- Java的方向。。。
- java8600手机
- python yield from (一)
- AWS App Mesh – 云应用的应用级联网
- Amazon Cognito 集成微信登录部署系列(五)客户端集成 Cognito 验证
- Amazon Cognito 集成微信登录部署系列(四)实现验证逻辑、发布 API
- Amazon Cognito集成微信登录部署系列(二)用Lambda开发服务端API
- Amazon Cognito 集成微信登录部署系列(一)Cognito 身份池、Dynamodb 表和创建 Lambda 函数
- 无服务器模式和创业公司,美好友谊的开端
- 新 – EC2 实例 (A1) 由基于 Arm 的 AWS Graviton Processors 提供支持
- python2 urlencod urldecode
- python __getattr__ 巧妙应用
- 4大案例分析金融机构的大数据应用
- 一个资深数据人对数据挖掘解读
- Qunar用户画像构建策略及应用实践
- 国家大数据平台知多少?八大平台前景可期!