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

    如果你为xhdpi分辨率的设备生成一个200*200的图片,那么相同的图片在hdpi设备中的分辨率为150*150,在mdpi中是100*100,在ldpi中是75*75.

  • 接下来,把图片放在相对应的目录下
  • MyProject/
        res/
            drawable-xhdpi/
                awesomeimage.png
            drawable-hdpi/
                awesomeimage.png
            drawable-mdpi/
                awesomeimage.png
            drawable-ldpi/
                awesomeimage.png

三、支持不同的系统平台版本

指定最小和目标API级别:

在 AndroidManifest.xml 中

<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">

更多风格和主题可以看http://developer.android.com/guide/topics/ui/themes.html

时间: 2024-09-22 00:53:27

Android入门之支持不同的设备的相关文章

Android版Chrome支持更快的安全加密算法

谷歌最近通过控制浏览器及其访问的站点来加速Android平台安全网页的浏览--谷歌anti-abuse研究团队主管Elie Bursztein在本周四的博客文章中表示,谷歌推行了更快的新型加密算法,这两种名为ChaCha20和Poly1305的加密算法加入到了Chrome浏览器中. Bursztein表示:"ChaCha20和Poly1305在移动和可穿戴设备上会显得非常快."部分原因就在于这些算法能够利用ARM芯片中的部分加速特性.而且此类算法能够有效防止数据窃听,包括来自政府的监控

跑分软件3DMark已支持Windows RT设备

在今年2月份时,Futuremark曾经发布了为Windows Vista, Win 7以及Win 8所打造的跑分软件3DMark.在今天该公司再次在Windows Store上发布3DMark,然而该版本现已支持Windows RT设备. 在Windows 8/RT设备上运行的3DMark有3种跑分模式.Ice Storm渲染720P的画面,或自动选择Windows RT设备的默认分辨率.它可以用来测定设备对DirectX 11的支持度,并采用两种图像测试来衡量设备GPU以及CPU的性能. I

Android系统控制连接usb外部存储设备的代码在哪里能找到,我想在其中增加一个选择指定设备的功能

问题描述 Android系统控制连接usb外部存储设备的代码在哪里能找到,我想在其中增加一个选择指定设备的功能 代码指的是系统代码,Android系统支持USBhost功能.当u盘插在手机上时,系统自动甄别其是否为指定外设,如果是,没有额外动作,一切如常:如果不是,系统自动移除外设:楼主是Android新手,希望大家给予些帮助或思路

Android 将正式支持 Raspberry Pi 3

廉价的ARM单板电脑Raspberry Pi 3支持运行Linux发行版和Windows 10 IoT,现在有望获得Android的正式支持.Android开源项目(AOSP)的代码库最近出现了一个Raspberry Pi 3设备树.AOSP中很少看到非Google设备,看起来Google很看好这个受欢迎的单板电脑.有了源代码的正式支持,在Raspberry Pi 3上运行Android及其应用将会变得更容易.Android上有数以百万计的应用. 文章转载自 开源中国社区[http://www.

targetsdkversion-发布了软件到Google market ,但发布时显示支持零台设备

问题描述 发布了软件到Google market ,但发布时显示支持零台设备 我发布了软件到Google market ,但发布时显示支持零台设备.我配置的manifest文件是: android:targetSdkVersion="15"/> 我用安卓4.1版本编译的.试了许多方式还是支持零台设备.希望有人能帮忙解决问题.真心谢谢了 解决方案 要确认一下,将 android:minSdkVersion 定义为你的应用可以适用. 如果你的应用要在所有版本设备上显示,需要在Meni

谷歌发布 Android Wear 矛头直指可穿戴设备

谷歌今天宣布推出Android Wear项目,该项目旨在将其移动操作系统Android延伸至智能可穿戴设备领域中去. 在这一领域中,谷歌最先着眼的是智能手表,该公司已经发布了开发者预览版的Android Wear平台,以便应用开发者对其现有的通知进行调整,使其适应以Android Wear平台为支持的智能手表. 在此以前,谷歌已经与多家消费者电子产品生产商(如华硕.HTC.LG.摩托罗拉和三星等).芯片厂商(如博通.Imagination.英特尔.联发科技和高通等)达成合作关系,此外还已与一些时

谷歌发布Android Wear操作系统服务可穿戴设备

[摘要]在这一领域中谷歌最先着眼的是智能手表,它已经发布了开发者版预览产品.谷歌发布Android Wear操作系统服务可穿戴设备 腾讯科技 瑞雪 3月19日编译谷歌今天宣布推出Android Wear项目,该项目旨在将其移动操作系统Android延伸至 智能可穿戴设备领域中去.在这一领域中,谷歌最先着眼的是智能手表,该公司已经发布了开发者预览版的Android Wear平台,以便应用开发者对其现有的通知进行调整,使其适应以Android Wear平台为支持的智能手表.在此以前,谷歌已经与多家消

Android入门之源码开发基础教程_Android

本文讲述了Android入门之源码开发基础教程.分享给大家供大家参考,具体如下: 下载 Android 源码之后,接下来就是学习或者进行开发. 在开发之前,谈一些开发必备知识或者工具,工欲善其事必先利其器嘛! 在前面一篇<Android入门之使用eclipse进行源码开发的方法>中基本上说了开发使用工具. 但是我们如何使用模拟器开发呢?! 当然你去删除或者增加app到模拟器就不可以按常规来操作了,花 5 -10 分钟了解一下,如果你有需要. 0. 编译源码 直接在下载的源码根目录下面,执行:

Android入门教程之Vibrator(振动器)_Android

前言: Vibrator简介:  下面我们就来写个简单的例子,来熟悉下这个Vibrator的用法! 1.获得Vibrator实例: Vibrator vb = (Vibrator)getSystemService(Service.VIBRATOR_SERVICE); 2.可以使用的相关方法: 1.stract void cancel():关闭或者停止振动器 2.tract boolean hasVibrator():判断硬件是否有振动器 3.id vibrate(long millisecond