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

手机屏幕分辨率怎么调整?,第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

随机推荐

  • 求助大侠 铁塔上装天线的定额选取

    通信铁塔无法通过通信定额计算安装费用。工信部200875号文发布的最新通信工程概预算定额中没有铁塔安装、抱杆安装、塔基和机房建设等内容。通信铁塔、塔基、抱杆、机房等得参考土建或铁件安装等相关定额(各省单独发布的相关定额)。问题一:一般弱电接

    2024-04-15
    30500
  • 妮维雅防晒喷雾怎么用

    1使用开始时把固定阀盖子打开,在液体出来之前先按瓶身几次。 2用手取适量,在肌肤上均匀的涂开。 3请注意涂完本品后不要马上穿衣服以免本品沾到衣服上,请等液体干了再穿。 4涂的量如果较少可能会达不到理想的防晒效果。为了得到理想的防晒效果请涂

    2024-04-15
    29300
  • 密封盒吸住了怎么打开

    1、可以利用热胀冷缩的原理,将密封盒放进微波炉内进行加热或者是用热水浸泡一段时间,密封盒内的空气会受热膨胀,密封盒就可以轻松打开。2、如果密封盒是加热之后出现打不开的情况,可以用刀尖插进密封盒盖子缝隙内轻轻撬动,让空气进入密封盒内,让盒内的

    2024-04-15
    26800
  • 精华露和精华液的区别 精华露和精华液有何区别

    精华露和精华液是护肤品中常见的两种产品,它们虽然名字相似,但在使用方法、质地和功效上有一些区别。下面我将从几个角度来为大家解答。精华露和精华液在质地上有所不同。精华露通常具有较为清爽的质地,质地轻盈,很容易吸收。而精华液则相对较为滋润,质地

    2024-04-15
    37000
  • 纸短情长歌词是什么意思

    《纸短情长》作词:言寺 作词:言寺你陪我步入蝉夏  越过城市喧嚣歌声还在游走  你榴花般的双眸不见你的温柔  丢失花间欢笑岁月无法停留  流云的等候我真的好想你  在每一个雨季你选择遗忘的  是我最不舍的纸短情长啊  道不尽太多涟漪我的故事

    2024-04-15
    28600
  • 妮维雅防晒霜 如何?

    您好,知我药妆肌肤顾问很高兴帮助您。妮维雅控油劲爽防晒液SPF30 PA++全球首款专为男士设计的高指数防晒霜。瞬间防晒的同时抑制多余油脂,保持净爽。更多肌肤问题欢迎您到知我药妆肌肤专家平台提问,或者到知我药妆官网进行在线咨询。军训防晒霜品

    2024-04-15
    35400
  • 哪个牌子的防晒霜效果最好

    哪个牌子的防晒霜效果最好  哪个牌子的防晒霜效果最好,被天气摧残的脸是可以通过护肤改善的,改变皮肤状况也会让我们更加健康,简简单单就能完成,轻轻松松就可以打造完美妆容,学会哪个牌子的防晒霜效果最好,技巧

    2024-04-15
    35700

发表评论

登录后才能评论
保存