Android入门之支持不同的设备

简介: 支持不同的设备包括: 一、支持不同的语言 应用程序中的UI部分字符串定义在res/values/strings.xml文件中,这是一个很好的习惯! MyProject/ res/ values/ strings.xml values-es/ strings.xml values-fr/

支持不同的设备包括:

一、支持不同的语言

应用程序中的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


目录
相关文章
|
4月前
|
Shell Linux 开发工具
"开发者的救星:揭秘如何用adb神器征服Android设备,开启高效调试之旅!"
【8月更文挑战第20天】Android Debug Bridge (adb) 是 Android 开发者必备工具,用于实现计算机与 Android 设备间通讯,执行调试及命令操作。adb 提供了丰富的命令行接口,覆盖从基础设备管理到复杂系统操作的需求。本文详细介绍 adb 的安装配置流程,并列举实用命令示例,包括设备连接管理、应用安装调试、文件系统访问等基础功能,以及端口转发、日志查看等高级技巧。此外,还提供了常见问题的故障排除指南,帮助开发者快速解决问题。掌握 adb 将极大提升 Android 开发效率,助力项目顺利推进。
105 0
|
2月前
|
存储 前端开发 测试技术
Android kotlin MVVM 架构简单示例入门
Android kotlin MVVM 架构简单示例入门
32 1
|
1月前
|
XML IDE Java
安卓应用开发入门:从零开始的旅程
【10月更文挑战第23天】本文将带领读者开启一段安卓应用开发的奇妙之旅。我们将从最基础的概念讲起,逐步深入到开发实践,最后通过一个简易的代码示例,展示如何将理论知识转化为实际的应用。无论你是编程新手,还是希望扩展技能的软件工程师,这篇文章都将为你提供有价值的指导和启发。
31 0
|
2月前
|
开发框架 移动开发 Android开发
安卓与iOS开发中的跨平台解决方案:Flutter入门
【9月更文挑战第30天】在移动应用开发的广阔舞台上,安卓和iOS两大操作系统各自占据半壁江山。开发者们常常面临着选择:是专注于单一平台深耕细作,还是寻找一种能够横跨两大系统的开发方案?Flutter,作为一种新兴的跨平台UI工具包,正以其现代、响应式的特点赢得开发者的青睐。本文将带你一探究竟,从Flutter的基础概念到实战应用,深入浅出地介绍这一技术的魅力所在。
84 7
|
3月前
|
Android开发 开发者
安卓开发中的自定义视图:从入门到精通
【9月更文挑战第19天】在安卓开发的广阔天地中,自定义视图是一块充满魔力的土地。它不仅仅是代码的堆砌,更是艺术与科技的完美结合。通过掌握自定义视图,开发者能够打破常规,创造出独一无二的用户界面。本文将带你走进自定义视图的世界,从基础概念到实战应用,一步步展示如何用代码绘出心中的蓝图。无论你是初学者还是有经验的开发者,这篇文章都将为你打开一扇通往创意和效率的大门。让我们一起探索自定义视图的秘密,将你的应用打造成一件艺术品吧!
67 10
|
2月前
|
Web App开发 编解码 视频直播
视频直播技术干货(十二):从入门到放弃,快速学习Android端直播技术
本文详细介绍了Android端直播技术的全貌,涵盖了从实时音视频采集、编码、传输到解码与播放的各个环节。文章还探讨了直播中音视频同步、编解码器选择、传输协议以及直播延迟优化等关键问题。希望本文能为你提供有关Andriod端直播技术的深入理解和实践指导。
55 0
|
3月前
|
IDE Java 程序员
安卓应用开发入门:打造你的第一个“Hello World”
【9月更文挑战第11天】在编程的世界里,每一个初学者的旅程都从一个简单的“Hello World”开始。本文将带领安卓开发的新手们,通过简单直观的方式,一步步构建出自己的第一个安卓应用。我们将探索安卓工作室(Android Studio)的安装、项目的创建,以及如何运行和调试你的应用。无论你是编程新手还是想扩展技能的老手,这篇文章都将为你打开一扇通往安卓世界的大门。
187 7
|
3月前
|
IDE Java API
安卓应用开发入门:打造你的第一个"Hello World"
【9月更文挑战第11天】在探索安卓开发的海洋中,每个开发者的航行都从简单的"Hello World"开始。本文将作为你的航标,引导你驶向安卓应用开发的精彩世界。我们将一起启航,通过浅显易懂的语言和步骤,学习如何构建并运行你的第一个安卓应用。无论你是编程新手还是希望扩展技能的老手,这篇文章都将为你提供所需的知识和信心。准备好了吗?让我们揭开安卓开发的神秘面纱,一起创造些令人兴奋的东西吧!
|
4月前
|
Android开发
基于Amlogic 安卓9.0, 驱动简说(四):Platform平台驱动,驱动与设备的分离
本文介绍了如何在基于Amlogic T972的Android 9.0系统上使用Platform平台驱动框架和设备树(DTS),实现设备与驱动的分离,并通过静态枚举在设备树中描述设备,自动触发驱动程序的加载和设备创建。
72 0
基于Amlogic 安卓9.0, 驱动简说(四):Platform平台驱动,驱动与设备的分离
|
4月前
|
Android开发 C语言
基于Amlogic 安卓9.0, 驱动简说(二):字符设备驱动,自动创建设备
这篇文章是关于如何在基于Amlogic T972的Android 9.0系统上,通过自动分配设备号和自动创建设备节点文件的方式,开发字符设备驱动程序的教程。
71 0
基于Amlogic 安卓9.0, 驱动简说(二):字符设备驱动,自动创建设备