Android适配不同分辨率手机屏幕的开发

news/2024/7/6 13:37:50

  我们经常会遇见这样的场景,做一款简单的App,在自己的手机上设计了layout的xml文件,UI做的还挺好看,挺合适的。但是换了一个手机就会发现变的巨丑,可能只是集中在局部(原来的分辨率低,新的机器分辨率高),或者是手机屏幕放不下了(原来的分辨率高,心的机器分辨率低)。
  
解决办法就是:
  
  我们可以在res文件路径下新建适配不同分辨率的手机的layout文件,与layout同级
这里写图片描述
  命名为layout-分辨率,请注意大数在前,所以一般就是高x宽,举例layout-2244x1080(HUAWEI P20分辨率)。
  在新建的文件下存放的资源和layout下是一致的,不过需要自己做适配,结合不同的显示比例来调整里面的资源文件。手机会根据自己的分辨率来选择不同的layout资源文件,不需要自己在写代码选择,比较智能。

  注1:在一个xml资源文件做了修改之后,记得刚更新到所有的layout文件中,否则换个测试机就会出现空指针异常,很无脑的bug,别问我为什么,因为我犯过。
  
  注2:对不不同分辨率的适配,还有其他的解决办法,可能会觉着这样加了很多的文件,会增大安装包,但是就我的测试来看,这样的最美观的,因为我们针对不同的分辨率做了不同的适配,可以做很多微调(只关注常用机型,很冷门的可以放弃,机器找不到合适自己的就会委屈一下去选择相似分辨率的或者是直接用layout,不会报错,只会丑 -_-! )


http://www.niftyadmin.cn/n/4303176.html

相关文章

Adding animations and effects to Flex tool tips (转载)

The following example shows how you can add custom animation and effects when displaying a tool tip in Flex<?xml version"1.0" encoding"utf-8"?><!--http://blog.flexexamples.com/2007/09/04/adding-animations-and-effects-to-flex-…

递规法遍历xml树的属性和节点值

注&#xff1a; function xml2javascript(xml_name, data) //参数xml_name: xml文档文件名,data&#xff1a;存储数据的数组对象名 转换成功后调用数组&#xff0c;基本按照dom的调用方法&#xff0c;只不过将()转换为[] <SCRIPT LANGUAGE"JavaScript"> /*** …

Android This view is not constrained, it only has designtime positions 解决办法(不同版本AS)

在Android studio中使用ConstraintLayout布局时&#xff0c;再次使用其他的控件时&#xff0c;会报异常&#xff0c;控件下有红色的波浪线&#xff0c;问题是View没有被约束&#xff0c;需要添加约束。   这个时候要注意的是&#xff0c; 当你的AS版本是3.X以前的版本时&…

android.view.InflateException: Binary XML file line #0: Error inflating class unknown 解决办法

项目跑成功了&#xff0c;打开后进入一个activity时出问题&#xff0c;崩溃&#xff0c;报错   可以将问题定位在XML文件出了问题。   出错误的地方大概率是下面几种情况&#xff0c;可以根据错误日志进行排查。 首先重构一下项目&#xff0c;rebuild project&#xf…

[C#]c#面试笔试题(一)

一.填空题 1.c#中的三元运算符是_____? 2.当整数a赋值给一个object对象时&#xff0c;整数a将会被_____? 3.类成员有_____种可访问形式&#xff1f; 4.public static const int A1;这段代码有错误么&#xff1f;是什么&#xff1f; 5.float f-123.567F; int i(int)f; …

MapReduce数据流(三)

额外的MapReduce功能 图4.6 插入了Combiner的MapReduce数据流  Combiner&#xff1a;前面展示的流水线忽略了一个可以优化MapReduce作业所使用带宽的步骤&#xff0c;这个过程叫Combiner&#xff0c;它在Mapper之后Reducer之前运行。Combiner是可选的&#xff0c;如果这个过程…

[C#]c#面试笔试题(二)

一、选择填空题&#xff08;每空2分&#xff0c;共60分&#xff09; 1.在对SQL Server 数据库操作时应选用&#xff08;&#xff09;。 a)SQL Server .NET Framework 数据提供程序&#xff1b; b)OLE DB .NET Framework 数据提供程序&#xff1b; c)ODBC .NET Framework 数据提…

Android Edittext 关掉软键盘自动弹出

在开发中&#xff0c;遇见了在这样的需求&#xff0c;打开一个页面有一个EditText&#xff0c;进入都还没加载利索就自动打开了软键盘&#xff0c;不能够第一眼看到整个页面的设计&#xff0c;感觉很不友好&#xff0c;需要将软键盘的自动打开关掉。      法&#xff11;…