安卓6.0该如何修改安卓 查看屏幕分辨率率

最清晰的Android多屏幕适配方案
当您的应用即将发布的时候,如果你想让更多的用户去使用你的应用,摆在工程师面前的一个重要问题就是如何让你的应用能在各种各样的终端上运行,这里的各种各样首当其冲的就是不同的屏幕分辨率和尺寸。
屏幕适配主要从图片和距离(文字)进行下手。从以往的方式适配方式中,开发者可能会考虑各种各样的分辨率,比如480*800、20*1080等,为此在资源文件夹里面创建了一大堆子文件夹,那么有什么更好的方式吗?首先我们看下genymotion模拟其中一些流行的镜像的屏幕参数信息:
上面举了两个例子,其实看了好几个发现大部分的屏幕虽然分辨率各种各样,但是dpi最多的就三种:160dpi、240dpi、320dpi 所以为了屏幕适配,我们应该仅仅对dpi做适配即可,这里我们分别对160dpi、240dpi、320dpi进行适配即可满足市场上大部分的需求,以上是图片的解决方案。 同时,光看dpi也不行,也要看对应的屏幕最小宽度,这个最小宽度是和dp对应的,用下列代码既可:
Configuration config = getResources().getConfiguration();
int smallestScreenWidth = config.smallestScreenWidthDp;
L.i('smallest width : '+ smallestScreenWidth);
这个获取出来的值,我们需要建立对应的values-sw{smallestWidth}dp文件夹进行适配,以上是文字和距离尺寸的适配。 下面将具体的距离说明,文中的例子原先是在0dpi的屏幕上开发的,这个在这里被叫做base size,我们对这个项目的代码进行适配。
在android3.2以前,所有的资源文件都有相应的xhdpi,hdpi,mdpi,ldpi四种文件来对应,android3.2以后,为了提供更精准的对布局文件的控制,可以通过为资源文件(res目录下文件)增加后缀来指定该文件夹里的xml布局文件或color.xml,string.xml是为哪种大小的屏幕使用。
第一种后缀:swdp,如layout-sw600dp, values-sw600dp
这里的sw代表smallwidth的意思,当你所有屏幕的最小宽度都大于600dp时,屏幕就会自动到带sw600dp后缀的资源文件里去寻找相关资源文件,这里的最小宽度是指屏幕宽高的较小值,每个屏幕都是固定的,不会随着屏幕横向纵向改变而改变。
第二种后缀wdp 如layout-w600dp, values-w600dp
带这样后缀的资源文件的资源文件制定了屏幕宽度的大于Ndp的情况下使用该资源文件,但它和swdp不同的是,当屏幕横向纵向切换时,屏幕的宽度是变化的,以变化后的宽度来与N相比,看是否使用此资源文件下的资源。
第三种后缀hdp 如layout-h600dp, values-h600dp
这个后缀的使用方式和wdp一样,随着屏幕横纵向的变化,屏幕高度也会变化,根据变化后的高度值来判断是否使用hdp ,但这种方式很少使用,因为屏幕在纵向上通常能够滚动导致长度变化,不像宽度那样基本固定,因为这个方法灵活性不是很好,google官方文档建议尽量少使用这种方式。
最小宽度 swdp例如:sw320dp、sw600dp、sw720dp等
屏幕的基本尺寸,是指最短的可用屏幕区域。具体的说,设备的最小宽度是屏幕可用的宽度和高度中最短的那个(也可以把它看做是屏幕的最小可能的宽度)。这样就可以使用这个限定符来确保应用程序至少有dp的宽度可用于UI界面,而不管屏幕的当前方向。
例如,如果布局在任何时候都需要至少600dp的最小屏幕尺寸,那么就能够使用这个限定符,在res/layout-sw600dp/目录中创建布局资源。只会在可用屏幕的尺寸至少是600dp的时候才会使用这些资源,而不管600dp是否是被用户认知的高度或宽度。最小宽度是设备的固定屏幕尺寸特征,当屏幕的方向发生改变时,设备的最小宽度不改变。
设备的最小宽度需要考虑屏幕的装饰和系统UI的占用。例如,如果设备有一些固定的UI元素要沿着最小宽度的轴向,占用一定的屏幕空间,那么系统声明的最小宽度要比实际的屏幕尺寸要小,因为被系统占用的像素部分对用户应用程序的UI无效。因此,这个值应该是应用程序布局所需要的最小的实际尺寸(通常,这个值是布局支持的最小宽度,而不管屏幕的当前方向)。
以下是可以使用的通用屏幕尺寸的一些值:
1.320,针对以下屏幕配置的设备:
240x320ldpi(QVGA手持设备)
320x480mdpi(手持设备)
480x800hdpi(高分辨率手持设备)
2.480,针对480x800mdpi的屏幕(平板或手持设备)
3.600,针对600x1024mdip的屏幕(7英寸平板)
4.720,针对720x1280mdip的屏幕(10英寸平板)
当应用程序提供了多个带有不同值的最小宽度限定符资源目录时,系统会使用最接近(不超出)设备最小宽度的那个资源。
这个限定符被添加在API级别13中。
还要看android:requiresSmallestWidthDp属性,它声明了与你的应用程序兼容的最小的最小宽度,并且smallestScreenWidthDp配置字段会持有这个设备最小宽度的值。
文字和尺寸的适配
我们这里需要将代码跑在一个分辨率320dpi的平板上,发现所有的字体都变大了,看似的分辨率比之前的要大一大圈,但是因为dpi也高,所以导致字体变大。
运行上面的获取smallestScreenWidth的代码后,发现值为600。(base size的平板电脑这个值是800)
首先在values文件夹中建立一个dimens.xml文件
继续在res中建立和values文件夹同级别的两个文件夹values-sw600dp-land和values-sw800dp-land,为了适应更多的屏幕,也加入了values-sw480dp-land (后缀是land是因为例子的项目是平板)
随后我们一个个的把原来写的layout文件找出来,找出里面原来写死的&数字&,比如宽度和字体大小之类的,一般来说单位是dp或者sp,将这些数字全部在values/dimens.xml中定义一个变量同时写回layout文件中对应的数字的地方,这里举个例子:
原来的代码是这样的:
现在代码成了这样:
dimens.xml中添加的内容:
然后你将values-sw600dp-land的里面的dimens.xml分别乘以0.75来获得:(因为600/800等于0.75)
values-sw480dp-land里面的dimens.xml分别乘以0.6来获得(因为480/800等于0.6)
values-sw800dp-land保持和values里面的一样,因为它是base size。
这样子以后我们再运行代码到分辨率320dpi的平板上,发现这个时候字体还有空间宽高都和原来的base size的一模一样了,就像是原封不动的跑在base size平板上的感觉!
那么这个时候问题来了:那么多的layout文件夹本身每个创建一个dimen变量就够累了,然后还要分别拷贝一份同时手动计算乘以0.6或者0.75来获得新的值,拿计算器一个个的计算,多大的工作量啊,况且以后要是要来个sw1028、sw320呢?再次算一次? 这里提供一个方法: 在代码里面新加一个带main的java类,事实上它是自动的帮你在原来的values/dimens.xml的基础上自动的帮你把每个dimen乘以你所需要的乘积然后将结果写回对应的dimens.xml里面,这大大的减轻了工作量,以后每次修改dimens.xml只要这样子即可: 在values/dimens.xml里面添加或修改变量 跑一边上述java类自动的生成别的dimens.xml 这里给出这个工具java类的代码:
public class DimenTool {
public static void gen() {
File file = new File('./app/src/main/res/values/dimens.xml');
BufferedReader reader =
StringBuilder sw480 = new StringBuilder();
StringBuilder sw600 = new StringBuilder();
StringBuilder sw720 = new StringBuilder();
StringBuilder sw800 = new StringBuilder();
StringBuilder w820 = new StringBuilder();
System.out.println('生成不同分辨率:');
reader = new BufferedReader(new FileReader(file));
String tempS
int line = 1;
// 一次读入一行,直到读入null为文件结束
while ((tempString = reader.readLine()) != null) {
if (tempString.contains('')) {
//tempString = tempString.replaceAll(' ', '');
String start = tempString.substring(0, tempString.indexOf('&') + 1);
String end = tempString.substring(tempString.lastIndexOf('&') - 2);
int num = Integer.valueOf(tempString.substring(tempString.indexOf('&') + 1, tempString.indexOf('') - 2));
sw480.append(start).append((int) Math.round(num * 0.6)).append(end).append('');
sw600.append(start).append((int) Math.round(num * 0.75)).append(end).append('');
sw720.append(start).append((int) Math.round(num * 0.9)).append(end).append('');
sw800.append(tempString).append('');
w820.append(tempString).append('');
sw480.append(tempString).append('');
sw600.append(tempString).append('');
sw720.append(tempString).append('');
sw800.append(tempString).append('');
w820.append(tempString).append('');
reader.close();
System.out.println('{C}');
System.out.println(sw480);
System.out.println('{C}');
System.out.println(sw600);
System.out.println('{C}');
System.out.println(sw720);
System.out.println('{C}');
System.out.println(sw800);
String sw480file = './app/src/main/res/values-sw480dp-land/dimens.xml';
String sw600file = './app/src/main/res/values-sw600dp-land/dimens.xml';
String sw720file = './app/src/main/res/values-sw720dp-land/dimens.xml';
String sw800file = './app/src/main/res/values-sw800dp-land/dimens.xml';
String w820file = './app/src/main/res/values-w820dp/dimens.xml';
writeFile(sw480file, sw480.toString());
writeFile(sw600file, sw600.toString());
writeFile(sw720file, sw720.toString());
writeFile(sw800file, sw800.toString());
writeFile(w820file, w820.toString());
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
reader.close();
} catch (IOException e1) {
e1.printStackTrace();
public static void writeFile(String file, String text) {
PrintWriter out =
out = new PrintWriter(new BufferedWriter(new FileWriter(file)));
out.println(text);
} catch (IOException e) {
e.printStackTrace();
out.close();
public static void main(String[] args) {
图片的适配
文字和空间宽度适配后,大家可能发现部分的ImageView或者ImageButton部分还有些变大或者变小,有的变模糊了,这里需要美工提供多套图片,大家请看这张图:
这里说明了开发时应该图片以160dpi为基准,同时提供不同dpi的基于baseline的图片的放大或者缩小版本。那么每套图片放什么地方呢?
以上是Google官方给出的分类标准(虽然也支持低像素密度 (LDPI) 的屏幕,但无需为此费神,系统会自动将 HDPI 尺寸的图标缩小到 1/2 进行匹配。) 所以对于我们的例子中分辨率320dpi的平板,我们应该让美工制作放大2x的版本的图片,同时将图片放到drawable-xhdpi文件夹中,原来的图片放到drawable-mdpi文件夹中。这里需要注意一下,对于drawable你可能会写很多的比如shape或者selector的xml形式的drawable,他们本身不是图片而是一个xml文件,但是他们都会去引用真实的drawable图片,对于这种xml最好是要放到无dpi影响的drawable文件夹中(无后缀) 这样子以来,我们再把代码跑到分辨率320dpi的平板上,发现图片部分也OK了,适配完毕。 这里还需要提醒的一点,并不是每个地方的图片都需要提供多套图片这种方案来解决,因为这种方案会带来使apk的size变大的副作用。所以大家可以根据实际需求,若可以通过上一节的方式来修改imageView的尺寸大小来解决(而非用wrap_content来指定layout_width和layout_height)的话,就不需要用多套图片的方式。
应用启动图标的适配
对于高分辨率低dpi的设备,我们经常会发现在launcher中我们的应用的启动icon被拉伸的模糊了,严重影响了门面的形象。 这里我们也通过提供多套icon的方式来解决,下面列表给出了不同屏幕密度中推荐的icon的size大小
在Android4.2以上的版本中,提供了对mipmaps的支持,说简单点就是他能对bitmap进行缩放的时候减少一些性能的耗损。如果你用Andorid Studio开发Android程序会发现Android Studio自动帮你创建了几个mipmaps文件夹,你可将应用的启动图标放到不同的mipmaps文件夹中而不是上述的drawable文件夹中,比如:
这里你至少要提供一个xxxhdpi类型的启动图标,因为Android会帮你自动缩小图标到对应的别的分辨率上(放大是会变模糊的),这样子可以节省些apk size。android 分辨率怎么修改_百度知道
android 分辨率怎么修改
我用蓝魔w7,android的系统,请问怎么把软件的分辨率改成800X400的?不然无法运行?
我有更好的答案
修改frameworks\base\core\java\android\content\res\CompatibilityInfo.java里面的两个参数即可:
// public static final int DEFAULT_PORTRAIT_WIDTH = 320;//修改后
public static final int DEFAULT_PORTRAIT_WIDTH = 240;//原来的//public static final int DEFAULT_PORTRAIT_HEIGHT = 480;//修改后
public static final int DEFAULT_PORTRAIT_HEIGHT = 320;×××××××××××××××××此外修改系统设置文件里面的LCD参数可以调整显示效果,实际上是一种伪分辨率修改办法。
采纳率:47%
不可以改,只能下载相关分辨率的软件,你的分辨率应该是800x480,属于高分辨率的android,所以一般在下载软件的时候应该都有一点提示的吧,还有,要下载android 2.1的软件,你这分辨率的android版本应该不会是1.5,1.6的。。祝你玩机愉快o(∩_∩)o
本回答被提问者采纳
无法修改,出厂前硬件配置自带的
选择3G 培训机构,要最起码的了解一些情况比如师资是否真的做过这方面的开发?是否有线上真实的应用?教学设备如何?是不是真正的先 就 业后 付款?我知道的比较好的就是华夏 博大3G学 院,基本情况都很好,大部份都是采用PC机教学你可以了解一下!YS
其他1条回答
为您推荐:
其他类似问题
您可能关注的内容
android的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。软件介绍:安卓修改手机屏幕分辨率软件(LCD Density Changer)能够在系统中调整屏幕的分辨率,从而可以在屏幕中看到更多的信息,就像我们在pc上设置不同的分辨率一样,需要root权限,不是支持所有型号的手机,但官方也没列举出来到底不支持哪些。 关键字:
下载地址:
如果您发现该软件不能下载,为了保证您快速的下载,推荐使用[网际快车]等专业工具下载. 为确保所下软件能正常使用,请使用[WinRAR v3.8]或以上版本解压本站软件.站内软件都是由网上收集,只供网友学习使用,如果所收集的软件侵犯了您的版权,请告知。【原创教程】修改分辨率和dpi&让安卓手机不再卡顿
本文只提供思路,陌生词汇请自行百度;
随意更改系统文件变砖几率很大,请先备份系统和数据,不建议小白尝试;
强烈建议读完全文再操作,亲测无误,风险自负;
问题描述:
安卓中低端机,或处理器为联发科MTK的部分手机,在运行应用和大型游戏的时候很流畅;但在系统界面,包括桌面启动器,状态栏,设置等进行操作的时候,卡顿不跟手一直是个恼人的问题。
原因分析:
网友的分析如下(以MT6592为例)
“MT6592 的带宽大约是 5.3GB/S,支持 720P 不是问题,但是支持 1080P,每
100万像素只有2.56GB/S。无论启动器怎么优化都很难流畅,这也是红米note5.5寸屏幕为啥还用720p放弃视网膜屏的原因。”
解决思路:
将屏幕的运行环境从1080p降到720p,解决了带宽吞吐,流畅度应该会提升。
步骤如下:
1. 最重要的一步,先root手机;
2. 下载安装
并给与相应的root权限
3. 使用 R.E.管理器 修改 /system/build.prop 文件中的 ro.sf.lcd_density
来改变dpi(屏幕密度值)。
如果没有ro.sf.lcd_density这个参数,请手动在最后一行添加 ro.sf.lcd_density = xxx
(xxx请参考下例)
以1080p分辨率的THL5000为例,它的默认dpi为480,我们要修改为720p,所以要计算一下修改后的dpi,设修改后的dpi为x,那么
1080 / 480 = 720 / x ,这样求的x = 320;所以最终修改的dpi为320。那么 build.prop 里的
那一行就应该改为 “ro.sf.lcd_density = 320 ”。
修改完后,记得保存退出,然后进行下一步。
4. 打开 终端模拟器,输入“su”然后回车,
&&& 然后输入“wm
size 720x1280”(应该是立即生效的,若无效,请尝试“am display-size 720x1280”)然后回车
5. 重启手机,所有的设置就会生效,屏幕也降为720p。亲测丝滑流畅无卡顿,比修改前快了很多很多。
修改后的优点:
1. 系统整体流畅许多,滑动和操作都无卡顿了,THL5000上亲测;
2. 相机也没有拖影,流畅许多;
3. 理论上720p更省电,这个有待测试;
1. 触摸按键(三大金刚)会失效,解决方法就是之前安装的 按键救星,
或者安装重力工具箱(GravityBox)开启虚拟按键 或 Pie Controls(我个人使用的是Pie,非常方便好用)。
2. 720p可能没有1080p屏幕看起来那么精细,不过其实都相差不大,都很清晰,强迫症请放弃此方法。
欢迎留言讨论心得体会!THL5000交流群:
原创教程,转载请注明出处:
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。经验2583 米
在线时间48 小时
版本7.8.28
积分 2903, 距离下一级还需 2097 积分
积分 2903, 距离下一级还需 2097 积分
机型红米手机4 高配版
签到次数14
MIUI版本7.8.28
开发者模式里关掉miui优化&&只一点很重要& &重启完&&进入设置&&电量和性能& &电量使用情况& &点击那个屏幕&&就是看屏幕使用多久的那个& &进去后点省电提示下放的的字& & 里面就可以看到分辨率修改& &&&想改的请仔细看完&&自己研究的&&纯手打&&好用赞一下
分享到微信朋友圈
打开微信,点击底部的“发现”,使用 “扫一扫” 即可将网页分享到我的朋友圈。
经验7581 米
在线时间80 小时
版本8.4.27
机型小米手机6
签到次数116
MIUI版本8.4.27
没错,的确进入到这个模式下了。但是有个问题,怎么才能知道成功修改为720p了?我仔细观察了下,没发现区别。而且再进入那个地方,选择720p之后,它还可以再重启切换,所以也不知道到底改成功没有。
经验7581 米
在线时间80 小时
版本8.4.27
机型小米手机6
签到次数116
MIUI版本8.4.27
另外就是切换完分辨率之后,如果再打开MIUI优化,是自动变为1080吗?感觉MIUI优化那个选项涉及的地方还挺多。
经验6615 米
在线时间965 小时
版本7.11.16
机型小米手机6
签到次数104
MIUI版本7.11.16
支持一下,感谢楼主分享!
经验4590 米
在线时间65 小时
机型红米Note4X 高通版
签到次数358
MIUI版本8.3.8
没感觉省电
经验5436 米
在线时间113 小时
版本8.4.26
积分 5584, 距离下一级还需 14416 积分
积分 5584, 距离下一级还需 14416 积分
机型红米手机4-高配版
签到次数450
MIUI版本8.4.26
720和1080的解析度相
我們眼睛要看出來
分別不是很大
但是硬體上
就有點需求上的差距
经验6621 米
在线时间180 小时
版本8.3.20
机型红米手机5Plus
签到次数132
MIUI版本8.3.20
感觉没意思。。。细腻的1080p不要,去用720p。干嘛不直接买个低配!
经验2928 米
在线时间61 小时
积分 3276, 距离下一级还需 1724 积分
积分 3276, 距离下一级还需 1724 积分
机型红米手机4 高配版
签到次数26
MIUI版本7.6.8
经验11961 米
在线时间60 小时
版本V9.5.2.0.MBECNFA
机型红米手机4-高配版
MIUI版本V9.5.2.0.MBECNFA
太厉害了,这么个小秘密都让你找到了。
经验962 米
在线时间18 小时
积分 911, 距离下一级还需 1089 积分
积分 911, 距离下一级还需 1089 积分
机型小米手机5S
签到次数54
MIUI版本8.2.1
为什么我的是720p和2K..
MIUI 9纪念勋章
“澎湃S1 ”芯片纪念勋章
参与活动回帖可得
参与红米Note 4X活动
2017年小金鸡勋章
回复2016年度评选活动贴
MIUI七周年
已关注微信
已关注极客秀微信
关注腾讯微博
已关注腾讯微博
关注新浪微博
已关注新浪微博
2018新年勋章
参与回帖活动
MIUI 10专属勋章
参加回帖活动
2017圣诞节勋章
参与回帖活动
MIUI3亿用户纪念勋章
参与回帖活动
感恩节勋章
参与回帖活动
万圣节勋章
参加回帖活动
米兔月饼勋章
参加回帖活动
MIUI七夕鹊桥勋章
新版论坛APP
更新新版APP
小米7周年勋章
2017米粉节晒单赢专属勋章
APP 1000万
MIUI论坛APP注册用户突破1000万纪念勋章
MIUI 300周
MIUI 300周更新纪念勋章
MIUI 8纪念勋章
MIUI 8纪念勋章
MIUI 7纪念勋章
MIUI五周年
MIUI五周年纪念勋章
MIUI六周年
MIUI六周年纪念勋章
圣诞节勋章
参与圣诞活动
小米众筹2周年
参加回帖活动
小火箭勋章
神舟11号 话题活动
Copyright (C) 2017 MIUI
京ICP备号 | 京公网安备34号 | 京ICP证110507号}

我要回帖

更多关于 安卓 查看屏幕分辨率 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信