当前位置: 首页 > news >正文

Android 自适应屏幕技术

  1. layout自适应屏幕大小

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

注意:包的命名要求,大数值放前面:layout-640x360,layout-800x480

  1. 图片自适应屏幕大小

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

  1. drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:
  2. drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)
  3. drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480)
  4. drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)

系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本图片。

  1. 字体自适应屏幕大小

只需要在res目录下创建不同的values文件夹,比如:values-640x360,values-800x480,所有的values文件在编译之后都会写入R.java里,而系统会根据屏幕的大小自己选择合适的values进行使用。

  1. layout自适应屏幕方向
  1. 横屏竖屏自动切换

可以在res目录下建立layout-portlayout-land两个目录,里面分别放置竖屏和横屏两种布局文件,这样在手机屏幕方向变化的时候系统会自动调用相应的布局文件,避免一种布局文件无法满足两种屏幕显示的问题。

  1. 禁用自动切换

只需要在AndroidManifest.xml文件中对应的activity加入android:screenOrientation属性限制:

  1. 限制此页面横屏显示:Android:screenOrientation="landscape"
  2. 限制此页面数竖屏显示:

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • SpringBootWeb 篇-深入了解 SpringBoot + Vue 的前后端分离项目部署上线与 Nginx 配置文件结构
  • HTML简单了解和基础知识记录
  • 高可用IP地址管理:使用Keepalived和Nginx实现VIP及IP池配置
  • kaggle竞赛宝典 | 量化竞赛第一名的网络模型
  • 【系统架构设计师】论文:论软件开发平台的选择与应用
  • NPJ系列|放射组学与多组学数据整合:推进精准肿瘤学的新模式|文献速递·24-08-25
  • 虚幻5|制作一个木桩,含血量及伤害数字
  • python代码错误集合
  • Linux自旋锁和读写锁
  • Runnable
  • Flutter-->Widget上屏之路
  • git cherry-pick 合并单个提交
  • 【OSCP系列】OSCP靶机-Dawn1(原创)
  • ESP32 出现 failed to load RF 报错
  • 高级java每日一道面试题-2024年8月25日-框架篇[Spring篇]-Spring框架中请举例解释@Required注解?
  • 77. Combinations
  • Facebook AccountKit 接入的坑点
  • gf框架之分页模块(五) - 自定义分页
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • Java应用性能调优
  • MD5加密原理解析及OC版原理实现
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • Ruby 2.x 源代码分析:扩展 概述
  • storm drpc实例
  • 爱情 北京女病人
  • 程序员最讨厌的9句话,你可有补充?
  • 关于Java中分层中遇到的一些问题
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 技术胖1-4季视频复习— (看视频笔记)
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 前端相关框架总和
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 通过npm或yarn自动生成vue组件
  • 小程序测试方案初探
  • 用mpvue开发微信小程序
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • ​什么是bug?bug的源头在哪里?
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • #define 用法
  • #if 1...#endif
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • (HAL库版)freeRTOS移植STMF103
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (每日一问)设计模式:设计模式的原则与分类——如何提升代码质量?
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (四)Android布局类型(线性布局LinearLayout)
  • (算法设计与分析)第一章算法概述-习题
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转) Android中ViewStub组件使用
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转)视频码率,帧率和分辨率的联系与区别
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .md即markdown文件的基本常用编写语法