如何让app适应不同分辨率
这篇文章是我们安卓巴士的管理员回答一个朋友的问题时贴出来的,我转过来,给大家看看,学习学习,看的多了,想的多了,自然就懂的多了。
给你找的一篇不知道有没有用:http://www.apkbus.com/forum.php?mod=viewthread&tid=4469&extra=page%3D1
1、不同的layout
Android手机屏幕大小不一,有480x320,640x360,800x480.怎样才能让App自动适应不同的屏幕呢? 其实很简单,只需要在res目录下创建不同的layout文件夹,比如:layout-640x360,layout-800x480,所有的layout文件在编译之后都会写入R.java里,而系统会根据屏幕的大小自己选择合适的layout进行使用。2、hdpi、mdpi、ldpi前的版本中,只有一个drawable,而2.1版本中有drawable-mdpi、drawable-ldpi、drawable-hdpi三个,这三个主要是为了支持多分辨率。
drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:
drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)
drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480)
drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)
系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本图片。
屏幕方向
1、横屏竖屏自动切换可以在res目录下建立layout-port和layout-land两个目录,里面分别放置竖屏和横屏两种布局文件,这样在手机屏幕方向变化的时候系统会自动调用相应的布局文件,避免一种布局文件无法满足两种屏幕显示的问题。
2、禁用自动切换
只需要在AndroidManifest.xml文件中加入android:screenOrientation属性限制。
Android:screenOrientation="landscape" //是限制此页面横屏显示
Android:screenOrientation="portrait" //是限制此页面数竖屏显示
字体自适应大小
方法1:
首先根据不同分辨率获取不同字体大小。
在RES里创建
values-480x320/strings.xml 里面设置<dimen name="Text_size">30px</dimen>
和 values-800x400/strings.xml 里面设置<dimen name="Text_size">30px</dimen>
分别代表480X320 和 800X400分辨率情况下字号为30px和40px;
在java文件中这样调用
int sizeOfText = (int) this.getResources().getDimension(R.dimen.Text_size);
方法2:
在视图的 onsizechanged里获取视图宽度,一般情况下默认宽度是320,所以计算一个缩放比率rate = (float) w/320 w是实际宽度
然后在设置字体尺寸时 paint.setTextSize((int)(8*rate)); 8是在分辨率宽为320 下需要设置的字体大小实际字体大小 = 默认字体大小 x rate
分享到:
相关推荐
Android Studio的布局预览功能允许开发者在多种屏幕尺寸和分辨率下预览布局,以便更好地进行适配工作。 总之,通过理解并应用上述知识点,开发者能够编写出能有效处理不同尺寸和密度屏幕的Android应用,从而提高...
- 测试:在多种屏幕尺寸和分辨率的设备上进行充分测试,确保应用在各种情况下表现良好。 - 避免硬编码尺寸:尽量使用比例或相对单位,而不是固定像素值。 - 使用Android Studio的预览功能检查不同屏幕尺寸下的...
在Android开发中,处理HTML以适应不同屏幕是一项关键任务,因为Android设备的屏幕尺寸和分辨率差异巨大。适配屏幕的问题主要涉及到像素、分辨率、屏幕尺寸、屏幕密度以及独立像素密度(dp)等概念。 首先,屏幕尺寸...
### Android如何自适应多种屏幕手机 #### 一、概述 Android平台因其开放性和广泛的设备支持而受到欢迎,但这也带来了多样化的屏幕尺寸和分辨率问题。为了确保应用能够在各种不同的设备上良好运行,开发者需要采取...
首先,Android系统提供了多种机制来处理屏幕适配,如资源维度文件(dimens.xml)、布局权重(layout_weight)以及使用相对布局(RelativeLayout)或约束布局(ConstraintLayout)。这些工具允许开发者定义不同屏幕...
首先,我们需要理解Android系统如何处理屏幕尺寸和密度。Android设备有多种屏幕类型,包括small、normal、large、xlarge等,以及hdpi、mdpi、ldpi、xhdpi、xxhdpi、xxxhdpi等密度分类。不同的尺寸和密度意味着在相同...
- 使用`android:configChanges="screenSize|orientation"`处理屏幕尺寸变化。 - 创建`res/layout-large`, `res/layout-xlarge`等目录,为大屏设备提供专门的布局。 11. **测试与调试**: - 使用Android Studio...
Android有多种版本和设备,因此在编写代码时要考虑兼容性问题,如API版本差异、设备屏幕尺寸和密度等。 以上就是“android区域性屏幕截图”的核心知识点。通过这些技术,开发者可以灵活地为用户提供选择特定屏幕...
在Android开发中,准确地获取屏幕、状态栏和标题栏的尺寸是至关重要的,这有助于开发者创建适应不同设备和屏幕尺寸的应用。以下是一些关于如何获取这些尺寸的关键知识点。 1. **屏幕尺寸获取** - **DisplayMetrics...
Android系统支持多种屏幕尺寸和方向,包括横屏(Landscape)和竖屏(Portrait)。本篇文章将深入探讨如何在Android中实现屏幕的切换,以及在横竖屏之间转换时需要注意的关键点。 首先,Android系统会根据设备的物理...
8. **测试和调试**:利用Android模拟器和真实设备,覆盖多种屏幕尺寸和分辨率进行测试,确保应用在各种环境下表现良好。 通过以上方法,开发者可以构建出适应各种屏幕尺寸和分辨率的Android应用,提升应用的兼容性...
1. **布局资源**: Android提供多种布局资源文件(如layout-sw360dp, layout-sw600dp等),根据设备的屏幕尺寸和密度来选择合适的布局。这些文件夹下的XML布局文件会根据不同屏幕尺寸自动加载。 2. **维度资源...
Android提供了多种布局文件夹(如layout-640x360,layout-800x480)来处理不同屏幕尺寸的适配问题。在这些特定的布局文件夹下,开发者可以放置针对特定屏幕尺寸的布局文件,系统会自动选择最匹配当前设备的布局进行...
在Android应用开发中,屏幕适配是一个至关重要的环节,因为Android设备有着丰富的屏幕尺寸和分辨率。本篇文章将详细探讨几种常见的Android屏幕适配方案,帮助开发者解决不同设备间界面显示不一致的问题。 1. **使用...
本资源包“Android多种图片渲染处理源码”很可能包含了一系列用于处理和优化Android平台上的图片显示技术的源代码示例。这些示例可能涵盖了从基本的图像加载到复杂的图片特效实现,以下将详细介绍一些可能涉及的关键...
这在处理不同屏幕尺寸时非常有用。 4. **百分比布局**:Android提供了PercentSupport库,允许开发者使用百分比来定义视图的尺寸。这对于自适应布局非常有效,特别是在横竖屏切换时。 5. **ConstraintLayout**:...
在Android应用开发中,屏幕适配是一个至关重要的环节,因为Android设备有着各种不同的屏幕尺寸和分辨率。`dimens.xml`文件是Android系统提供的一种资源文件,用于存储尺寸相关的常量,如字体大小、间距、控件尺寸等...
Material Design提供了预设的组件和动画,它们已经考虑了多种屏幕尺寸的适配,使用它们可以简化开发过程。 10. **使用Swiperefreshlayout和CoordinatorLayout** 这些布局组件提供了一种自适应的方式来处理下拉...
Android支持多种屏幕尺寸(小型、正常、大型、超大型)和密度(低、中、高、超高),通过dp(density-independent pixels)单位来实现不同屏幕间的统一视觉效果。然而,仅依赖dp并不足以解决所有问题,特别是在设计...