博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 屏幕自适应方向尺寸
阅读量:6943 次
发布时间:2019-06-27

本文共 1267 字,大约阅读时间需要 4 分钟。

最近感觉要被屏幕适配玩死了…… 

安卓的手机为虾米不能像苹果那样只有几个分辨率呢?为什么呢!!!!!!!阿门…… 
目前想到有两种解决办法…… 
第一种: 
  HTML5+CSS3+WebView交互……目前还在研究,空了放demo 
第二种: 
  通过安卓UI自己的layout来处理: 
  1.屏幕界面布局 
    在 res 目录下创建不同的 layout(drawable也支持)文件夹,比如 layout-640x360 、layout-800x480 ,所有的 layout 文件在编译之后都会写入 R.java 里,而系统将根据屏幕的大小自己选择合适的 layout 进行使用 
  2.多分辨率支持 
    支持多分辨率有 mdpi、ldpi、hdpi 3个文件。 
    hdpi 里面存放高分辨率的图片,如 WVGA (480x800),FWVGA (480x854) ;(PS:偶很纠结480*854的分辨率,纠结啊!!!!) 
    mdpi 里面存放中等分辨率的图片,如 HVGA (320x480) ; 
    ldpi 里面存放低分辨率的图片,如 QVGA (240x320) 。 
    系统将根据机器的分辨率来分别到这几个文件夹里面去找对应的图片,在程序开发中,为了兼容不同平台不同屏幕,建议将不同版本图片根据需求存放在各自对应的文件夹中。 
  3.获得屏幕大小 
   

Java代码  
  1. DisplayMetrics metric = new DisplayMetrics();  
  2.        getWindowManager().getDefaultDisplay().getMetrics(metric);  
  3.        int width = metric.widthPixels;  // 屏幕宽度(像素)  
  4.        int height = metric.heightPixels;  // 屏幕高度(像素)  
  5.        float density = metric.density;  // 屏幕密度(0.75 / 1.0 / 1.5)  
  6.        int densityDpi = metric.densityDpi;  // 屏幕密度DPI(120 / 160 / 240)  

    话说在一个低密度的小屏手机上,仅靠上面的代码是不能获取正确的尺寸的。所以,需要在工程的AndroidManifest.xml文件中,加入supports-screens节点,具体的内容如下: 
  

Xml代码  
  1. <supports-screens  
  2.        android:smallScreens="true"  
  3.        android:normalScreens="true"  
  4.        android:largeScreens="true"  
  5.        android:resizeable="true"  
  6.        android:anyDensity="true" />  

   4.还有自动横屏之类的,不准备支持了……恩~阿门……android:screenOrientation="portrait"全部竖着…

转载于:https://www.cnblogs.com/xiaochao1234/p/4036412.html

你可能感兴趣的文章
c++之拷贝构造函数调用时机
查看>>
Spring3.2.4集成quartz2.2.1定时任务(demo)
查看>>
n个骰子,和为x的概率分别是多少
查看>>
POJ 3673 Cow Multiplication
查看>>
Visual Studio 2017 ASP.NET Core开发
查看>>
onvif开发实战2--总结框架搭建
查看>>
数据结构-线性表
查看>>
1098 均分纸牌
查看>>
jquery.masonry瀑布流插件的4个使用步骤
查看>>
Apache ab测试工具使用方法(无参、get传参、post传参)
查看>>
Java中如何遍历Map对象的4种方法
查看>>
深度学习和机器学习截然不同?模式识别是最古老的很过时的,机器学习是最基础的初创公司热点,深度学习是有影响力的前沿领域...
查看>>
[认证授权] 2.OAuth2授权(续) & JWT(JSON Web Token)
查看>>
使用 log4j 2记录日志
查看>>
新词发现(一):基于统计
查看>>
从“为什么创业”到“怎么创业”(转)
查看>>
从零开始学习渗透Node.js应用程序
查看>>
Three-js 创建第一个3D场景
查看>>
mysql优化:连接数
查看>>
单例设计模式之安全的懒汉式
查看>>