Android自适应屏幕大小和layout布局(转)

一:不同的layout

Android手机屏幕大小不一,有480x320, 640x360, 800x480.怎样才能让App自动适应不同的屏幕呢?
其实很简单,只需要在res目录下创建不同的layout文件夹,比如layout-640x360,layout-800x480,所有的layout文件在编译之后都会写入R.java里,而系统会根据屏幕的大小自己选择合适的layout进行使用。

二:hdpi、mdpi、ldpi

在之前的版本中,只有一个drawable,而2.1版本中有drawable-mdpi、drawable-ldpi、drawable-hdpi三个,这三个主要是为了支持多分辨率。

  drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:

  (1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)

  (2)drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480)

  (3)drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)

  系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。

三者的解析度不一样,就像你把电脑的分辨率调低,图片会变大一样,反之分辨率高,图片缩小。


横屏竖屏自动切换:

方法一: 可以在res目录下建立layout-port-800x600和layout-land两个目录,里面分别放置竖屏和横屏两种布局文件,这样在手机屏幕方向变化的时候系统会自动调用相应的布局文件,避免一种布局文件无法满足两种屏幕显示的问题。
方法二:在AndroidManifest.xml文件配置activity属性:android:configChanges="keyboardHidden|orientation"
重写Activity的 onConfigurationChanged方法:
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
setContentView(R.layout.main_land);//横屏

} else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
setContentView(R.layout.main);//竖屏
}
}

转自:
[url]http://greenboy1.iteye.com/blog/1033828[/url]
QtQuick 移动端开发实战系列(5)_不同设备的适配显示 总目录传送门 本博文技术等级: ★★★☆☆☆☆☆☆☆ 联系方式: 作者 郑天佐 QQ 278969898 主页 http://www.camelstudio.cn 邮箱 camelsoft@163.com 博客 http://blog.youkuaiyun.com/zhengtianzuo06 github https://github.com/zhengtianzuo QQ群 199672080 捐赠 觉得分享的内容还不错, 就请作者喝杯咖啡吧~~ ... 阅读详情

相关推荐

一个Activity根据不同的状态加载不同的布局

一个Activity根据不同的状态加载不同的布局

安卓初体验之图片设置和屏幕一样宽

第一张图是原型 我做出来的 ,最后一张图片没有和 屏幕一样宽代码是这样的: <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:src="@mipmap/ic_support" android:paddingLeft="30dp" android:paddingTop="..

ywj776199845的专栏 324

android自定义实现比例缩放的layout

一个小例子,用来解决屏幕的自适应问题。例子里是一个自定义实现比例缩放的layout。

QT编写应用的界面自适应分辨率的解决方案

博主在工作机上完成QT软件开发(控件大小与字体大小比例正常),部署到客户机后,发现控件大小与字体大小比例失调,具体表现为控件装不下字体,即字体显示不全,推测是软件不能自适应分辨率导致的。

罗伯特祥的博客 6806

Android百分比布局

继承自Relative的自定义布局,实现了按照百分比布局控件,控件的比例可以按照自己指定的布局,不会因为手机尺寸的原因造成空间比例失调,控件的长宽比例由自己指定,参数值只需要设置一个(手机屏幕的高度或者宽度值)就可以了,最大的亮点就是既有relativelaout的功能,又可以固定比例,代码简单,容易理解,自己下下来一看就懂

Android自适应不同分辨率总结

Android自适应不同分辨率总结

Android自适应屏幕大小和layout布局

一:不同的layout Android手机屏幕大小不一,有480x320, 640x360, 800x480,854x480.怎样才能让App自动适应不同的屏幕呢? 其实很简单,只需要在res目录下创建不同的layout文件夹,比如layout-640x360,layout-800x480,所有的layout文件在编译之后都会写入R.java里,而系统会根据屏幕的大小自己选择合适的layout进行使用。 但是需要注意的是根据分辨率添加layout文件时,layout这个原来的文件夹及资源一定要存在,否则会出

chenlei1889的专栏 2万+

【rk3566/3568】Android 11移植gms

【rk3566/3568】Android 11移植gms 1、前言 测试功能时,想去Google play store去下个应用测试,发现通过网页搜索总是下载不到正确的谷歌服务框架;于是就不得不去搞一个内置的gms。 2、移植 1、需要下载Android 11对应的gms的包 opengapps 2、看下文件目录 直接移植core里面的文件,GAPPs Optional按需添加 3、在vendor下创建google目录 ...

lin_ff的博客 7646

android系统如何自适应屏幕大小

[b]1、屏幕相关概念[/b] 1.1分辨率 是指屏幕上有横竖各有多少个像素 1.2屏幕尺寸 指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸 android将屏幕大小分为四个级别(small,normal,large,and extra large)。 1.3屏幕密度 每英寸像素数 手机可以有相同的分辨率,但屏幕尺寸可以不相同, Diagona...

流星的博客 1954

2023-ICCV-隐式神经网络实现低光照图像增强(NeRCo)论文解读+代码解析

NeRCo()提出了一种名为NeRCo的隐式神经表示方法,用于合作式低光图像增强。现有的低光图像增强方法存在以下三个限制:不可预测的亮度降低和噪声、度量友好版本和视觉友好版本之间的固有差距,以及有限的配对训练数据。为了解决这些限制,论文提出了NeRCo方法,它以无监督的方式稳健地恢复感知友好的结果。具体而言,NeRCo通过一个可控的拟合函数统一了现实场景中多样的退化因素,从而提高了鲁棒性。对于输出结果,论文引入了来自预训练视觉-语言模型的先验信息,采用语义导向的监督方法。

weixin_45595504的博客 3184

在VS2019里把JSBSim飞行模型集成到你的C++项目里(附完整配置流程和常见错误解决)

本文详细介绍了如何在Visual Studio 2019中将JSBSim飞行模型集成到C++项目中,包括环境准备、源码编译、项目配置和常见错误解决方案。通过实战技巧和优化建议,帮助开发者高效实现高精度飞行仿真功能,提升开发效率。

weixin_42620202的博客 413

[转]Android自适应不同分辨率或不同屏幕大小的layout布局(横屏|竖屏)

本文转自:http://www.cnblogs.com/leon19870907/archive/2012/02/01/2335143.html 一:不同的layout Android手机屏幕大小不一,有480x320, 640x360, 800x480.怎样才能让App自动适应不同的屏幕呢? 其实很简单,只需要在res目录下创建不同的layout文件夹,比如layout-640x3...

weixin_30667649的博客 133

R语言数据可视化:绘制世界地图的两种方案

本文介绍了两种使用R语言绘制世界地图的方案:包含边界边框和不包含边界边框。无论您选择哪种方案,使用ggplot2包和相关的地理数据包,我们可以轻松地绘制出漂亮的世界地图。R语言提供了丰富的包和函数,使我们能够轻松地绘制世界地图,并根据需求添加边界边框。在本文中,我将介绍两种绘制世界地图的方案:一种包含边界边框,一种不包含边界边框。在上述代码中,我们使用了与方案一相同的数据准备和地图绘制步骤,但省略了添加边界边框的代码。函数的调用,我们可以绘制不包含边界边框的世界地图。方案二:绘制不包含边界边框的世界地图。

CodeMaven的博客 2225

Android布局之屏幕自适应

Android布局之屏幕自适应          在做应用时发现程序没有屏幕自适应功能,变换手机使用之后,界面就很混乱了,字体也很奇怪。经过百度的帮助,找到自适应方法。 1          字体的自适应 这里又有关于Android下表示大小的单位的相关知识。 下面列出几种表示单位: 1.1     dip: device independent pixels(设备独立像素). 不同设

kangyaping的专栏 2万+

OpenClaw 在 Docker 容器中的部署实战——零配置启动

本文介绍了OpenClaw在Docker容器中的快速部署方法,对比了本地部署与容器化部署的优势。通过官方镜像和Docker Compose两种方式,5分钟即可完成部署,并详细讲解了配置管理方案(挂载配置文件和环境变量)。文章还提供了飞书集成配置方法,以及生产环境下的日志管理、资源限制、健康检查等优化建议。最后包含常见问题排查指南,帮助开发者快速实现OpenClaw的容器化部署。

刘一说的IT专栏 904

RT-Thread必考面试题及参考答案

RT-Thread的设备驱动模型遵循层次化的结构,设计简洁且易于扩展。它主要由设备注册、设备操作和设备控制三部分组成。设备驱动模型允许开发者为不同的硬件设备编写驱动程序,这些驱动程序可以被RT-Thread内核统一管理和调度。在RT-Thread中,设备被抽象成一系列标准的接口,包括打开、关闭、读取、写入、控制等操作,这些操作封装在结构体中。设备驱动程序需要实现这些接口,然后通过调用函数注册设备,使其对系统可见。这种模型不仅简化了驱动开发,还提高了代码的可移植性和可维护性。

大模型大数据攻城狮的专栏 1823

Android自适应大小和屏幕

屏幕大小: 一:不同的layout Android手机屏幕大小不一,有480x320, 640x360, 800x480.怎样才能让App自动适应不同的屏幕呢?    其实很简单,只需要在res目录下创建不同的layout文件夹,比如layout-640x360,layout-800x480,所有的layout文件在编译之后都会写入R.Java里,而系统会根据屏幕的大小自己选择合适的lay

7425

热红外图像小目标检测算法综述

热红外小目标检测算法综述,着重介绍基于深度学习的小目标检测算法

Littro Innovations 4244

android app 适应不同大小屏幕_Android自适应屏幕大小和布局

一:不同的layoutAndroid手机屏幕大小不一,有480x320, 640x360, 800x480,854x480.怎样才能让App自动适应不同的屏幕呢? 其实很简单,只需要在res目录下创建不同的layout文件夹,比如layout-640x360,layout-800x480,所有的layout文件在编译之后都会写入R.java里,而系统会根据屏幕的大小自己选择合适的layout进行使...

weixin_31188325的博客 4722

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Android自适应屏幕大小和layout布局(横屏|竖屏)

1、屏幕相关概念  1.1分辨率  是指屏幕上有横竖各有多少个像素  1.2屏幕尺寸  指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸  android将屏幕大小分为四个级别(small,normal,large,and extra large)。  1.3屏幕密度  每英寸像素数  手机可以有相同的分辨率,但屏幕尺寸可以不相同,  Diago

Android移动开发者的专栏 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Android高手过招:关于自适应屏幕方向和大小的一些经验

我开发完毕后装在800*480的手机上时感觉很OK,但是装到480*320、以及320*240分辨率上的手机时,很多界面都变形了,这时我感受到了app自适应的重要性。关于布局和横屏切换成竖屏类似,也只需要在res目录下创建不同的layout文件夹,比如layout-480x320,layout-800x480,系统会根据屏幕的大小自己选择合适的layout来使用。二.当遇到分辨率不同大小时,我们也会遇到三个问题:图片大小、布局、横屏和竖屏的切换。第二个文件夹放中分辨率手机的图片,比如:480*320。

2401_84235249的博客 976

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Android自适应屏幕大小和layout布局 .

一:不同的layout  Android手机屏幕大小不一,有480x320, 640x360, 800x480,854x480.怎样才能让App自动适应不同的屏幕呢? 其实很简单,只需要在res目录下创建不同的layout文件夹,比如layout-640x360,layout-800x480,所有的layout文件在编译之后都会写入R.java里,而系统会根据屏幕的大小自己选择合适的layo

大写的牛逼 1524
上一篇: Android的常见错误及解决办法
下一篇: Java语言的字符和字符串的处理方法
lds8988
博客等级 码龄17年 1粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值