当前位置: 首页 > 知识库问答 >
问题:

GS3上的屏幕密度

公孙俊弼
2023-03-14

我不明白以下几点:

  • 三星Galaxy S3显示720px 1280px,屏幕尺寸为4.8英寸
  • 因此,屏幕密度可以评估为305dpi
  • 在Android屏幕支持推荐页面中,305dpi对应于“xhdpi”限定符

所以我的问题是:为什么运行在GS3上的应用程序会从“mdpi”限定符中获取资源?

作为更新,请参阅我的代码以测试它:

main.xml:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="@string/density" />

</RelativeLayout>

strings.xml文件夹{"值","值-ldpi","值-mdpi","值-hdpi","值-xhdpi"}

其中,[x]分别为{默认值、ldpi、mdpi、hdpi、xhdpi}:

<resources>

    <string name="density">[x]</string>

</resources>

结果是应用程序显示"mdpi"文本资源

作为一个新的更新,我测试了:

  • 将“values xhdpi”文件夹重命名为“values normal xhdpi”

结果:“xhdpi”

  • 将值-xhdpi文件夹重命名为值-正常-xhdpi
  • 将值-hdpi文件夹重命名为值-正常-hdpi

结果:“hdpi”

  • 将“values xhdpi”文件夹重命名为“values normal xhdpi”

结果:“mdpi”

  • 将“values xhdpi”文件夹重命名为“values normal xhdpi”

结果:“mdpi”

我不理解结果,为什么系统选择选择性较低的资源(最低“mdpi”)而不是选择性较高的资源?

共有1个答案

慕容星晖
2023-03-14

我发现我的错误:

我在API级别3下编译,在清单中删除了属性android:targetSdkVersion,因为它无法识别(错误:在包“android”中找不到属性“targetSdkVersion”的资源标识符)。在“支持的屏幕范围”一节中,我们可以看到Android 1.6(API级别4)支持该功能。

谢谢你的帮助

 类似资料:
  • 您好,我正在中制作一个游戏,我想知道如何以及最好的方式是在屏幕上添加游戏。以下是玩家健康状况小于或等于0的代码: 我不确定该怎么做,因为我试图使用另一个py呼叫游戏,但玩家死亡的时间被重置为0并返回,所以玩家死亡的地方可能发生任何事情吗?

  • 我的有问题,当我在手机上启动应用程序时,它会显示约0.5秒的白色屏幕。扩展了,在中,我声明为启动器,肖像模式为。 代码: XML:

  • 对于每个android可绘制屏幕密度(hdpi、ldpi、xhdpi等),建议采用什么方法缩放图像?我们应该使用源图像分辨率作为最高密度(xxhdpi)的分辨率,并从那里开始缩放吗?在我的例子中,我明确地将布局中的图像大小设置为50 x 50 dp,那么我是否应该缩放可绘制图像,使我的mdpi为50x50,并以此为基础确定其他分辨率? 附言:为什么我们必须手动缩放绘图,如果它们在放置时无论如何都会

  • 我有一个使用系统外观的Java Swing程序: 问题是在高DPI系统中,框架中的字体太小了。我如何使框架上的文本可读而不必更改所有框架的字体?我的程序是使用Java6编写的,有太多的框架需要修改。

  • 我已经创建了一个初始屏幕,它一开始工作得很好,但之后,它会向我显示一个白色空白屏幕,而不是我的初始屏幕图像文件。我不知道为什么会发生这种情况。 我试图改变我的风格.xml父主题,但有些主题使我的应用程序崩溃,只有主题.AppCompat.Light.NoActionBar可以工作,并给我一个空白的白屏。 styles.xml 飞溅.java 屏幕序列、线程Hibernate时间和其他一切都正常工作

  • screen 模块用于检索有关屏幕大小,显示,光标位置等的信息 进程: 主进程 渲染进程​ screen 是一个 EventEmitter. 注意: app模块必须用在 ready事件后. 注意: 在渲染进程或开发者工具栏中, window.screen 是一个预设值的 DOM属性, 所以 var screen = require('electron').screen 这样写的话是无效的. 创建一