手机屏幕分辨率怎么调整?

手机屏幕分辨率怎么调整?,第1张

vivo手机目前支持修改屏幕分辨率的机型有:iQOO 11、iQOO 11 Pro、X90、X90 Pro、X90 Pro+、iQOO 10 Pro、X80 Pro骁龙版、X80 Pro天玑版、X Note、iQOO 9 Pro、X70 Pro+、iQOO 8 Pro、Xplay6,路径为:设置--显示与亮度--屏幕分辨率,点击对应分辨率即可设置。

若有更多疑问,可进入vivo官网/vivo商城APP--我的--在线客服或者vivo官网网页版--下滑底部--在线客服--输入人工客服进入咨询了解。

获取屏幕分辨率的方式如下:

一、在activity中

1、DisplayMetrics dm = getResources()getDisplayMetrics();

int screenWidth = dmwidthPixels;

int screenHeight = dmheightPixels;

2、DisplayMetrics dm = new DisplayMetrics();

thisgetWindowManager()getDefaultDisplay()getMetrics(dm);

int screenWidth = dmwidthPixels;

int screenHeight = dmheightPixels;

二、在service中

DisplayMetrics dm = new DisplayMetrics();

dm = getResources()getDisplayMetrics();

int screenWidth = dmwidthPixels;

int screenHeight = dmheightPixels;

三、在非activity中,传一个Context进来调用

1、public ImageGalleryAdapter(Context c) {

myContext = c;

DisplayMetrics dm = cgetResources()getDisplayMetrics();

int screenWidth = dmwidthPixels;

int screenHeight = dmheightPixels;

}

2、public class BaseTools {

public static int getWindowWidth(Context context){

// 获取屏幕分辨率

WindowManager wm = (WindowManager) (contextgetSystemService(ContextWINDOW_SERVICE));

DisplayMetrics dm = new DisplayMetrics();

wmgetDefaultDisplay()getMetrics(dm);

int mScreenWidth = dmwidthPixels;

return mScreenWidth;

}

public static int getWindowHeigh(Context context){

// 获取屏幕分辨率

WindowManager wm = (WindowManager) (contextgetSystemService(ContextWINDOW_SERVICE));

DisplayMetrics dm = new DisplayMetrics();

wmgetDefaultDisplay()getMetrics(dm);

int mScreenHeigh = dmheightPixels;

return mScreenHeigh;

}

}

原文: https://blogcsdnnet/CrazyApes/article/details/116994631

之前一直不知道手机的DPI还可以修改,以前测试我都是用好几个测试机,或者通过修改开发者模式下的最小宽度去看适配的问题。呐,前段时间朋友说可以直接用adb改,赶紧记下来,省的以后忘了。

adb 命令

wm size [reset|WxH|WdpxHdp]

return or override display size width and height in pixels unless suffixed with 'dp'

查看分辨率: wm size

修改分辨率: wm size 1440x2560

还原初设置: wm size reset

测试机: 华为 FRD-DL00

wm density [reset|DENSITY]

查看密度: wm density

修改密度: wm density 480

还原设置: wm density reset

测试机: 华为 FRD-DL00

Security exception: Must hold permission androidpermissionWRITE_SECURE_SETTINGS

莫慌,打开下 开发者选项 中的 USB调试(安全设置) 就行了。

有时间可以都看一下,试一试,蛮好玩的。

说起来巧了,就像前言说的我不知道手机可以改DPI,之前一直是用的开发者模式下的最小宽度修改来测试。后来发现,这个其实也是修改了DPI,仔细想想density和px还有dp的关系,就突然能明白为啥了。

手机 开发者模式

首先得打开手机的 开发者模式 ,咋打开应该不用说了把。

不知道的小伙伴可以试着去找到你手机的 系统版本 那里一顿狂点。

然后就有惊喜了。

比如: Redmi 9A

咱就直接进入 开发者选项 里把。

找到 绘图 模块下的 最小宽度 栏目。

点开之后直接输入想要的最小宽度就行了。

注意: 这里是以 dp 为单位的。

如果你的UI设计图的宽度跟你的手机不符,开发的时候,可以尝试修改这个达到演示的目的。

如下: Redmi 9A

由于输入的是宽度值,无法直观的看到 density 的变化,但是咱们可以用方式一去验证下,就可以看到它的变化是改了 density 的值的。

机型:Redmi 9A

可见,在 分辨率 不变的前提下,修改了最小宽度之后,设备的 density 发生了变化。

Android中的dp在渲染前会将dp转为px,计算公式:

px = density dp;

density = dpi / 160;

px = dp (dpi / 160);

原文: https://blogcsdnnet/CrazyApes/article/details/116994631

参考: https://developerandroidgooglecn/guide/practices/screens_support

想要Android应用适应不同尺寸的屏幕,思路如下:

不同的layout

Android手机屏幕大小不一,有480x320, 640x360, 800x480,让app适应不同屏幕,需要在res目录下创建不同的layout文件夹,比如layout-640x360,layout-800x480,所有的layout文件在编译之后都会写入Rjava里,而系统会根据屏幕的大小自己选择合适的layout进行使用。

hdpi、mdpi、ldpi

在之前的版本中,只有一个drawable,而21版本中有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)

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

更正:应该是对应不同density 的

在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本。

屏幕方向:

横屏竖屏自动切换:

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

不同分辨率横屏竖屏自动切换:

以800x600为例 :

可以在res目录下建立layout-port-800x600和layout-land-800x600两个目录

不切换:

以下步骤是网上流传的,不过我自己之前是通过图形化界面实现这个配置,算是殊途同归,有空我会把贴上来。

还要说明一点:每个activity都有这个属性screenOrientation,每个activity都需要设置,可以设置为竖屏(portrait),也可以设置为无重力感应(nosensor)。

要让程序界面保持一个方向,不随手机方向转动而变化的处理办法:

在AndroidManifestxml里面配置一下就可以了。

加入这一行android:screenOrientation="landscape"。

例如(landscape是横向,portrait是纵向):

以下是JAVA代码:

<xml version="10" encoding="utf-8"> 

<manifest xmlns:android="http://schemasandroidcom/apk/res/android" 

package="comraylinkit" 

android:versionCode="1" 

android:versionName="10"> 

<application android:icon="@drawable/icon" android:label="@string/app_name"> 

<activity android:name="Main" 

android:label="@string/app_name" 

android:screenOrientation="portrait"> 

<intent-filter> 

<action android:name="androidintentactionMAIN" /> 

<category android:name="androidintentcategoryLAUNCHER" /> 

</intent-filter> 

</activity> 

<activity android:name="GamePlay" 

android:screenOrientation="portrait"></activity> 

<activity android:name="OptionView" 

android:screenOrientation="portrait"></activity> 

</application> 

<uses-sdk android:minSdkVersion="3" /> 

</manifest>

另外,android中每次屏幕的切换动会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次Create的时候载入配置,那样,进行中的游戏就不会自动重启了! 

有的程序适合从竖屏切换到横屏,或者反过来,这个时候怎么办呢?可以在配置Activity的地方进行如下的配置android:screenOrientation="portrait"。这样就可以保证是竖屏总是竖屏了,或者landscape横向。

而有的程序是适合横竖屏切换的。如何处理呢?首先要在配置Activity的时候进行如下的配置:android:configChanges="keyboardHidden|orientation",另外需要重写Activity的 onConfigurationChanged方法。实现方式如下,不需要做太多的内容:

@Override 

public void onConfigurationChanged(Configuration newConfig) { 

superonConfigurationChanged(newConfig); 

if (thisgetResources()getConfiguration()orientation == ConfigurationORIENTATION_LANDSCAPE) { 

// land do nothing is ok 

} else if (thisgetResources()getConfiguration()orientation == ConfigurationORIENTATION_PORTRAIT) { 

// port do nothing is ok 

}

写一个支持多分辨的程序,基于16开发的,建立了三个资源文件夹drawable-hdpi drawable-mdpi drawable-ldpi,里面分别存放7272 4848 3636的icon图标文件。当我在G1(15的系统)上测试时,图标应该自适应为4848才对啊,但实际显示的是3636。怎么才能让其自适应 4848的icon图标呢 ?

解决办法 drawable-hdpi drawable-mdpi drawable-ldpi改成drawable-480X320 drawable-800X480的多分辨支持的文件夹。

vivo手机目前支持修改屏幕分辨率的机型有:iQOO 11、iQOO 11 Pro、X90、X90 Pro、X90 Pro+、iQOO 10 Pro、X80 Pro骁龙版、X80 Pro天玑版、X Note、iQOO 9 Pro、X70 Pro+、iQOO 8 Pro、Xplay6,路径为:设置--显示与亮度--屏幕分辨率,点击对应分辨率即可设置。

若有更多疑问,可进入vivo官网/vivo商城APP--我的--在线客服或者vivo官网网页版--下滑底部--在线客服--输入人工客服进入咨询了解。

欢迎分享,转载请注明来源:品搜搜测评网

原文地址:https://pinsoso.cn/shuma/1207642.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-09-06
下一篇2023-09-06

随机推荐

  • 伊思芙洗发水怎么样

    很好。根据查询齐家网显示:伊思芙是一家专业的洗发水品牌,洗发水主要是以植物精华为主要原料,不含硅油,SLS,SLES等有害物质,有较好的洗发效果,且对头皮和头发比较温和,适合各种发质使用。这款贵妇膏很好。根据伊思芙官网资料显示,熊宝伊思芙贵

    2024-04-15
    60800
  • 从香港买回来的妮维雅怎么看生产日期呢?

    妮维雅是国外的产品,要是你朋友是在香港SASA、卓悦、龙城一些上市商场买的绝大多数是正品水货。因为香港是免税的,有很多产品是没有经过海关出售的,所以没有中文说明,不过有很多商品是快过期甚至是已经过期的。最好找一个懂得看批号的人看清了再使用。

    2024-04-15
    45800
  • 妮维雅爽肤水哪个好

    妮维雅爽肤水儿的种类有很多,而且在很多的套装当中也会有妮维雅的爽肤水,比如男士控油保湿套装当中的爽肤水儿是125毫升,比较适合的就是男士的抗痘或者是控油保湿,并且可以达到控油不紧绷,含有精华,抗痘成分,对于男性日常的清洁或者是控痘的非常好的

    2024-04-15
    47100
  • 有什么平价好用的男士水乳推荐?求推荐?

    男士平价乳液排行榜10强:  1、悦诗风吟  2、CeraVe  3、百雀羚  4、妮维雅  5、FANCL  6、高夫  7、相宜本草  8、欧莱雅  9、吾诺  10、资生堂  一、悦诗风吟青竹男士控油润肤乳  产品介绍:悦诗风吟的这款

    2024-04-15
    45400
  • 兰芝水乳五件套盒怎么使用

    兰芝水乳五件套盒顺序:水→精华→乳液→面霜→睡眠面膜。正确使用顺序:第一步:清洁。首先清洁时相当重要的护肤步骤,是早晚都要有的。选择一只适合自己的清洁产品,挤出颗粒大小,加些微的水,在手上轻揉起泡,然后把泡沫涂抹到面部打圈,按摩3分钟左右用

    2024-04-15
    48500
  • whoo后适合什么年龄用?whoo后天气丹系列什么功效?

    我们都知道好的肌肤除了天生以外还要靠后天的保养才行,好的肌肤护理离不开好的护肤品,选择一款适合自己的品牌至关重要,那么whoo后适合什么年龄用?whoo后天气丹系列什么功效?whoo后适合什么年龄用拱辰享基础系列基础调理 特点:基础

    2024-04-15
    44600
  • 伊思蔓姿是传销吗

    截止2018年11月30日,山东伊思曼姿生物科技有限公司已被山西琪尔康翅果生物制品有限公司收购成为子品牌,山西琪尔康翅果生物制品有限公司尚未被认定为传销,但其琪尔康直销多次被媒体报道涉嫌传销,以下为媒体报道:2018年1月18日,记者来到位

    2024-04-15
    46700

发表评论

登录后才能评论
保存