控制Android分辨率
Android分辨率情况:
布局和字体等大小:
一 在res目录下进行设置,简单、方便、低效
二在Java文件中控制,效率较高,但是移植性和维护困难
对于图片的自适应:
一是9patch图
二是drawable-hdpi-800x480和drawable-hdpi-854x480,在它们里面放不同的图片,这样图片也能自适应了。
一、 布局和字体等大小
1、在res目录下,一般如下设置
(1)layout_weight
目前最为推荐的Android多屏幕自适应解决方案。
(2)自定义尺寸法
2、Java文件中控制
一般只是在代码中重新设定控件的宽高度而已,其他属性依然是交给xml布局文件的。
写两个静态变量用来保存当前屏幕的宽高度:
public class Constant {
public static int displayWidth; //屏幕宽度
public static int displayHeight; //屏幕高度
}
然后在第一个Activity启动的时候,获取这两个值
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
Constant.displayWidth = displayMetrics.widthPixels;
Constant.displayHeight = displayMetrics.heightPixels;
设置空间的宽和高
// 第一个按钮,宽度100%,高度10%
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT,
(int) (Constant.displayHeight * 0.1f + 0.5f));
btn1.setLayoutParams(params);
// 第二个按钮,宽度100%,高度30%
LinearLayout.LayoutParams params2 = new LinearLayout.LayoutParams(
LayoutParams.FILL_PARENT,
(int) (Constant.displayHeight * 0.3f + 0.5f));
btn2.setLayoutParams(params2);
例如values-800x480。在该文件夹下创建一个dimens.xml文件,定义各种字体的大小。那么系统就会自动根据你手机屏幕的分辨率去调用响应的文件夹。需要注意的是,一些比较极端的情况,比如1280x800 1280x768 1280x720,这里可以使用一个兼容性的布局,如果里面含有图片而且对于宽度要求十分精确地话,建议修正图片大小或者做填充处理(在边缘为纯色的情况下将背景填充为和边缘颜色一样的色值即可)。
Android9 patch 图片 (.9.png 格式图片) 的特点和制作
一.9.png格式的文件的特点
与传统的png 格式图片相比, 9.png 格式图片在图片四周有一圈一个像素点组成的边沿,该边沿用于对图片的可扩展区和内容显示区进行定义。这种格式的图片在android 环境下具有自适应调节大小的能力。(1)允许开发人员定义可扩展区域,当需要延伸图片以填充比图片本身更大区域时,可扩展区的内容被延展。(2)允许开发人员定义内容显示区,用于显示文字或其他内容. 如下图所示:左侧和上方的黑线交叉的部分即可扩展区域,右侧和下方的黑线交叉的部分即内容显示区.
二 .9.png 图片的制作
android sdk 的 tools文件夹下提供了制作该格式图片的工具 draw9patch.bat。使用此工具打开任意图片之后,将鼠标置于图片上。被黑色覆盖的是不可编辑(锁住)的区域,周围的一圈一个像素的边沿是可编辑区域。按住鼠标左键,在左侧和上方的边沿画出可扩展区。
在右侧和下方画出内容显示区。完成绘制以后,选择file-> save ,即可保存为 .9.png 格式的文件,并在android项目中使用。
实际项目中,其他公司决绝方案
案例一
1.屏幕大小
在res目录下创建不同的layout文件夹,比如:layout-640x360,layout-800x480,所有的layout文件在编译之后都会写入R.java里,
而系统会根据屏幕的大小自己选择合适的layout进行使用。
2.字体自适应大小
首先根据不同分辨率获取不同字体大小。
在RES里创建
values-480x320/strings.xml 里面设置<dimenname="Text_size">30px</dimen>
和 values-800x400/strings.xml 里面设置<dimenname="Text_size">30px</dimen>
分别代表480X320 和 800X400分辨率情况下 字号为30px和40px;
在java文件中这样调用:int sizeOfText = (int)this.getResources().getDimension(R.dimen.Text_size);
案例二
用密码获取屏幕宽高,根据图片原比例,在代码中自己设置高宽。
WindowManager wm = (WindowManager) this
.getSystemService(Context.WINDOW_SERVICE);
width= wm.getDefaultDisplay().getWidth();// 屏幕宽度
minHight= width * 381 / 480;
calenderTableLayout.setMinimumHeight((int)minHight);
案例三
做一张超大的图片,然后等比例缩小图片,来进行图片的适配。
分享到:
相关推荐
BaseProject是一个用于Android开发的Android基本程序架构库(Android屏幕自适应分辨率自适应、Android分辨率自适应、安卓版本分辨率自适应、网络通信、通用方法等).zip
"Android自适应屏幕分辨率" Android 操作系统中,屏幕分辨率的差异非常大,需要程序自动适应屏幕大小。正确的做法是使用 weight 属性,设置控件的 layout 中的 width、height 为 fill-parent,而不是 wrap-content...
在Android开发中,屏幕自适应设计是一个重要的技术点,它涉及到不同分辨率和尺寸的屏幕显示效果。为了实现应用界面在各种设备上的良好表现,开发者需要处理好屏幕分辨率的适配问题。多分辨率屏幕自适应解决方案是指...
本文将深入探讨Android屏幕自适应的原理、方法和案例,帮助开发者掌握这一关键技能。 首先,我们需要理解Android屏幕的多样性。Android系统支持多种屏幕尺寸(小型、正常、大型、超大型)和密度(低、中、高、超高...
本示例着重讲解如何实现"android屏幕自适应",确保应用在不同分辨率如360x480, 480x800, 480x854以及640x360等设备上都能正常显示,避免因屏幕尺寸差异导致的显示问题。 1. **理解Android屏幕尺寸和密度** Android...
在开发Android应用时,确保应用能够自适应多种屏幕分辨率是一项至关重要的任务。这不仅涉及到提升用户体验,还关乎应用的市场覆盖率,因为不同设备拥有不同的屏幕尺寸和密度。本文将深入探讨如何实现Android应用的...
本文将基于“Android屏幕自适应Demo”这一主题,详细阐述如何实现Android应用在不同屏幕尺寸和分辨率上的良好表现。 首先,理解Android屏幕的基本概念是关键。Android屏幕主要由以下几个属性定义: 1. **分辨率**...
总的来说,应用XML文件开发Android自适应分辨率程序的关键在于理解XML布局文件的结构和功能,以及如何利用Android的资源管理系统来适配不同设备的屏幕尺寸和分辨率。通过灵活地运用这些技术,开发者可以创建出能够在...
本文将详细探讨Android屏幕自适应计算工具及其在UI设计尺寸换算中的应用。 首先,了解Android屏幕的基本概念。Android设备具有多种屏幕尺寸和分辨率,为了确保应用在各种设备上表现一致,Android引入了dp(density-...
"安卓自定义控件相关-Android屏幕自适应Demo"这个压缩包文件提供了关于如何在Android平台上创建自定义控件以及实现屏幕自适应的示例。下面将详细讲解这两个关键知识点。 一、自定义控件 1. **基础概念**:自定义...
本文将深入探讨Android系统中的分辨率概念、如何处理屏幕尺寸差异以及实现自适应分辨率的策略。 首先,我们要理解Android设备的分辨率。分辨率是指屏幕上像素的数量,通常用宽度和高度的像素点数来表示,例如“720x...
android 模拟器横屏,android 虚拟机横屏,android 判断横屏,android 禁止横屏,android 强制横屏,android 横屏事件,android 自适应分辨率,android 屏幕自适应,android 图片自适应,android 横屏布局。...
Android自适应屏幕布局是指在Android系统中实现屏幕自适应的布局方式,通过使用不同的布局文件和样式可以使屏幕布局适应不同的屏幕尺寸和方向。下面是关于Android自适应屏幕布局的详细知识点: 一、布局文件 在...
### Android自适应不同分辨率的关键知识点 在Android应用开发中,实现界面自适应不同分辨率设备的能力是至关重要的。本文将从给定的文件信息出发,深入探讨Android如何处理不同分辨率下的界面适配问题,包括理解...
在Android应用开发中,确保应用程序能够自适应各种手机屏幕大小和分辨率是至关重要的。这不仅可以提供优秀的用户体验,也是Google Play商店对应用质量的基本要求。以下是一些关键知识点,帮助开发者实现这一目标: ...
在LabView编程环境中,自适应屏幕分辨率是一项关键的技术,它使得应用程序能够在不同尺寸和分辨率的屏幕上正确显示,提供良好的用户体验。下面将详细讲解如何在LabView中实现自适应屏幕分辨率的功能。 首先,理解...
Android提供了三种基本的方式来处理屏幕自适应问题: 1. **预缩放的资源**:即基于屏幕尺寸和密度去寻找合适的图片资源。这种情况下,Android会自动根据当前设备的屏幕尺寸和密度来加载相应的图片资源,无需开发者...