`
Beyon_javaeye
  • 浏览: 67563 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Android处理多种屏幕尺寸

阅读更多
1 默认设置

如果应用程序针对android1.5或更低版本进行编译,android将假定应用程序的设计目的是在经典的屏幕尺寸和分辨率下效果良好,如果将应用程序安装在一个带有较大屏幕的手机上,android会自动在兼容模式下运行应用程序,根据实际屏幕大小对所有内容进行缩放。

如果应用程序是针对android1.6及以上版本编译的,android假定可正确处理所有屏幕尺寸问题,因此不会以兼容模式运行应用程序。

2 多合一

在android中,处理多种屏幕尺寸最简单的办法是设计ui,使其能够自动根据屏幕的大小进行缩放,无需任何特定于尺寸的编码或资源。

2.1 考虑规则,而不是位置

最简单的规章就是android:layout_width和android:layout_height的fill_parent和wrap_content值。

最好环境就是用relativelayout。
明确地将部件固定到屏幕的底部或右侧,而不是让它们由于其他布局而改变位置
控制相互连接的部件之间的距离,无需依靠填充内容或空白。
指定规则时最好的控制方法是创建自己的布局类。

2.2 考虑物理尺寸
2.3 避免使用实际像素
2.4 选择可缩放的drawable

经典的位图(png、jpg和gif)从本质上讲都不可缩放。

解决这个问题的一个方式是尝试避免使用静态位图,使用nine-patch(可拉伸)位图和xml定义的drawable作为替代方法。Nine-patch(可拉伸)位图是一个png文件,进行了特殊编码,以通过规则说明如何拉伸该图以占据更多的空间。Xml定义的drawable使用一个类似svg xml的语言来定义形状、笔触和填充等。

3 量身定制

Android提供了根据应用程序运行环境切换资源或代码块的方式。

3.1 添加<supports-screen>
3.2 资源和资源集

基于屏幕的大小或密度切换不同内容的主要方法是创建资源集。

  1. 默认缩放
   Android将使用正常的缩放算法缩放普通的位图。

  2. 基于密度的设置
   如果想根据不同的屏幕密度拥有不同的布局、尺寸等,可以使用-ldpi、-mdpi和-hdpi资源集标签。

  3. 基于尺寸的设置
  如果想根据屏幕尺寸拥有不同的资源集,可使用android提供的-small、-normal和-large资源集标签。创建res/layout-large-land/可指定用于横向大屏幕上的布局

  4. 基于版本的设置
  可以向资源集加入一个-vN形式的版本标签,N表示api的级别。

3.3 查找尺寸

如果资源集中有独特的内容,你可以找到它并在代码中相应地使用分支语句。

可以通过configuration对象查找屏幕尺寸类,这个对象通常由一个activity通过getresource().getconfiguration()获得。

4 一切都是模拟的

4.1 密度不同
4.2 调整密度

在android1.6中引入的android avd manager。此工具的android2.0版本拥有一个launch options。

4.3 访问实际设备

5 充分利用形式

使用不同布局来利用额外的屏幕空间,而不是简单地在相同物理空间内增加像素的数目。

5.1 用按钮替代菜单
5.2 使用简单的activity替代选项卡
5.3 整合多个activity

6 示例:EU4You

6.1 第一个版本
6.2 固定字体大小
6.3固定大小的图标
6.4 使用空间
6.5不是浏览器会怎样

7 合作伙伴的错误有哪些
分享到:
评论

相关推荐

    Android应用源码获取手机屏幕尺寸的代码段-IT计算机-毕业设计.zip

    Android Studio的布局预览功能允许开发者在多种屏幕尺寸和分辨率下预览布局,以便更好地进行适配工作。 总之,通过理解并应用上述知识点,开发者能够编写出能有效处理不同尺寸和密度屏幕的Android应用,从而提高...

    android自动适应屏幕源码

    - 测试:在多种屏幕尺寸和分辨率的设备上进行充分测试,确保应用在各种情况下表现良好。 - 避免硬编码尺寸:尽量使用比例或相对单位,而不是固定像素值。 - 使用Android Studio的预览功能检查不同屏幕尺寸下的...

    Android 处理HTML-HTML适配屏幕.pdf

    在Android开发中,处理HTML以适应不同屏幕是一项关键任务,因为Android设备的屏幕尺寸和分辨率差异巨大。适配屏幕的问题主要涉及到像素、分辨率、屏幕尺寸、屏幕密度以及独立像素密度(dp)等概念。 首先,屏幕尺寸...

    Android如何自适应多种屏幕手机

    ### Android如何自适应多种屏幕手机 #### 一、概述 Android平台因其开放性和广泛的设备支持而受到欢迎,但这也带来了多样化的屏幕尺寸和分辨率问题。为了确保应用能够在各种不同的设备上良好运行,开发者需要采取...

    Android自动适应屏幕源码

    首先,Android系统提供了多种机制来处理屏幕适配,如资源维度文件(dimens.xml)、布局权重(layout_weight)以及使用相对布局(RelativeLayout)或约束布局(ConstraintLayout)。这些工具允许开发者定义不同屏幕...

    android屏幕适配,自动生成不同的dimens.xml详解

    首先,我们需要理解Android系统如何处理屏幕尺寸和密度。Android设备有多种屏幕类型,包括small、normal、large、xlarge等,以及hdpi、mdpi、ldpi、xhdpi、xxhdpi、xxxhdpi等密度分类。不同的尺寸和密度意味着在相同...

    android屏幕适配方案

    - 使用`android:configChanges="screenSize|orientation"`处理屏幕尺寸变化。 - 创建`res/layout-large`, `res/layout-xlarge`等目录,为大屏设备提供专门的布局。 11. **测试与调试**: - 使用Android Studio...

    android区域性屏幕截图

    Android有多种版本和设备,因此在编写代码时要考虑兼容性问题,如API版本差异、设备屏幕尺寸和密度等。 以上就是“android区域性屏幕截图”的核心知识点。通过这些技术,开发者可以灵活地为用户提供选择特定屏幕...

    Android 获取屏幕、状态栏、标题栏的尺寸

    在Android开发中,准确地获取屏幕、状态栏和标题栏的尺寸是至关重要的,这有助于开发者创建适应不同设备和屏幕尺寸的应用。以下是一些关于如何获取这些尺寸的关键知识点。 1. **屏幕尺寸获取** - **DisplayMetrics...

    android屏幕的切换

    Android系统支持多种屏幕尺寸和方向,包括横屏(Landscape)和竖屏(Portrait)。本篇文章将深入探讨如何在Android中实现屏幕的切换,以及在横竖屏之间转换时需要注意的关键点。 首先,Android系统会根据设备的物理...

    android多屏幕多分辨率适配

    8. **测试和调试**:利用Android模拟器和真实设备,覆盖多种屏幕尺寸和分辨率进行测试,确保应用在各种环境下表现良好。 通过以上方法,开发者可以构建出适应各种屏幕尺寸和分辨率的Android应用,提升应用的兼容性...

    Android自动适应屏幕源码.zip

    1. **布局资源**: Android提供多种布局资源文件(如layout-sw360dp, layout-sw600dp等),根据设备的屏幕尺寸和密度来选择合适的布局。这些文件夹下的XML布局文件会根据不同屏幕尺寸自动加载。 2. **维度资源...

    android 自适应屏幕大小

    Android提供了多种布局文件夹(如layout-640x360,layout-800x480)来处理不同屏幕尺寸的适配问题。在这些特定的布局文件夹下,开发者可以放置针对特定屏幕尺寸的布局文件,系统会自动选择最匹配当前设备的布局进行...

    Android-针对Android屏幕适配所整合的几种常用方案

    在Android应用开发中,屏幕适配是一个至关重要的环节,因为Android设备有着丰富的屏幕尺寸和分辨率。本篇文章将详细探讨几种常见的Android屏幕适配方案,帮助开发者解决不同设备间界面显示不一致的问题。 1. **使用...

    Android多种图片渲染处理源码

    本资源包“Android多种图片渲染处理源码”很可能包含了一系列用于处理和优化Android平台上的图片显示技术的源代码示例。这些示例可能涵盖了从基本的图像加载到复杂的图片特效实现,以下将详细介绍一些可能涉及的关键...

    Android屏幕适配:dimens自动生成工具以及使用方法,亲测好用

    在Android应用开发中,屏幕适配是一个至关重要的环节,因为Android设备有着各种不同的屏幕尺寸和分辨率。`dimens.xml`文件是Android系统提供的一种资源文件,用于存储尺寸相关的常量,如字体大小、间距、控件尺寸等...

    android自适应屏幕demo

    这在处理不同屏幕尺寸时非常有用。 4. **百分比布局**:Android提供了PercentSupport库,允许开发者使用百分比来定义视图的尺寸。这对于自适应布局非常有效,特别是在横竖屏切换时。 5. **ConstraintLayout**:...

    android屏幕自适应

    Material Design提供了预设的组件和动画,它们已经考虑了多种屏幕尺寸的适配,使用它们可以简化开发过程。 10. **使用Swiperefreshlayout和CoordinatorLayout** 这些布局组件提供了一种自适应的方式来处理下拉...

    Android 智能屏幕适配工具,便捷有效

    Android支持多种屏幕尺寸(小型、正常、大型、超大型)和密度(低、中、高、超高),通过dp(density-independent pixels)单位来实现不同屏幕间的统一视觉效果。然而,仅依赖dp并不足以解决所有问题,特别是在设计...

Global site tag (gtag.js) - Google Analytics