问题标签 [android-resolution]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何在android中制作各种屏幕尺寸的全屏图像?
当我们开发安卓应用程序时,我们将不同大小的图像放到各自的可绘制文件夹中,以适应不同的屏幕分辨率。例如,如果我想使用 32x32 像素的图像,我将制作具有不同尺寸的相同图像,如下所示。
24x24 ldpi
32x32 mdpi
48x48 hdpi
64x64 xhdpi
96x96 xxhdpi
128x128 xxxhdpi
它非常适合图标、精灵等。但现在我想制作一个背景图像以适应所有屏幕尺寸和密度。如果我制作一个 320x480 (wxh) 像素的图像,并假设我有 2 个具有正常 dpi、320x480 和 768x1024 的设备。图像将适合 320x480 设备的屏幕,但我不知道后者,因为图像不适合所有屏幕尺寸,除非它是 320x480 设备。如何计算我的背景图像的尺寸以适合所有屏幕尺寸和分辨率?
android - 特定密度的Android App Icon Resource ID
如何在 Android 中获取应用程序图标的特定密度(hdpi、xhdpi 等)的(int)资源 ID?
我知道我们可以使用 getDrawableForDensity() 方法获取特定密度的可绘制对象,但是如何获取此可绘制对象的资源 ID?
android - 为什么 imageview 中的 wrap_content 不会根据实际宽度使其变大?
我有一个ImageView
:
我看到的是,如果我设置一个具有尺寸的图像(基于我的电脑的信息)1280px854
如果我在我的电脑中打开它,图像看起来很大。尽管我已经设置
了相同的图像,但我的图像很小。
我不确定我是否明白这是如何工作的。例如 1280/4 = 320dpi (xxxhdpi) 但对于图像视图没有宽度
澄清:我试图理解为什么它会这样工作并且不会使它变大。ImageView
wrap_content
wrap_content
320dpi
wrap_content
android - 我如何知道将为我的设备加载哪些资源?
如果我手头有任何设备,我怎么知道我的 apk 将使用哪些资源?
例如drawable-hdpi
,或者drawable-xhdpi
或者drawable-xxhdpi
我不是在理论上询问这些文件夹中的哪些是在何时加载的,但特别是如果我手头有一个随机设备,我怎么知道将使用哪个?
android - 根据设备宽度和高度设置字体大小
在我的应用程序中,我正在显示一个具有 textview(帐户标题)的 CardView。我根据设备宽度计算的卡片视图高度。
由于我根据设备宽度设置cardview高度,我想更改textview(帐户标题)的字体大小以使字体大小基于卡片高度。
我们如何根据设备宽度和高度为 textview 应用字体大小?
java - Android Studio 屏幕设置
大家好,我是 android studio 的初学者,我注意到当我在手机上运行我的应用程序时,状态栏和屏幕按钮都是可见的,但在我朋友的设备上没有状态栏或屏幕按钮所以它使用全分辨率,我怎样才能强制应用程序在所有设备上都有呢?我的手机和他手机的分辨率相同(1080x2340),但在他的手机上,它就像只是缩小了一样。有没有办法让应用程序在两台设备上都一样工作?我的意思是,分辨率相同,但由于状态栏/屏幕按钮,应用程序看起来不同。
android - 安卓 | 为什么在具有相同分辨率和相同屏幕尺寸的两部不同手机上,活动看起来会有所不同?
设想
我正在开发一个随机应用程序,最近我遇到了一个问题。我在 Google pixel 3a xl android 模拟器和 Asus X00TD 物理设备上运行相同的应用程序。而且我知道华硕手机的用户界面真的发生了变化。
Pixel 3a XL 显示器规格:
显示尺寸:6.0 英寸分辨率:2160 × 1080 ppi:402ppi
华硕 X00TD 显示器规格:
显示尺寸:6.0 英寸分辨率:2160 × 1080 ppi:403ppi
您会看到它几乎相同,只是 ppi 不同,我认为这不会产生很大的不同。大约 6 个像素会受到影响,这不会改变整个 UI。我不知道dpi
华硕x00td的分辨率。而且我在网上也找不到。
这是像素 3a xl 和华硕 x00td 之间的 UI 差异。
如您所见,模拟器和实体手机之间存在很大差异。所以,我有2个问题
有一种方法可以通过函数计算 dpi。但是,如果我没有手机但仍想知道该手机的 dpi res 怎么办?
为什么模拟器和实体手机差别很大?
编辑
我试图在互联网上计算它,但它给了我0.0631mm
点间距。我无法理解它是什么。模拟器还显示像素 3a xl 具有400dpi
分辨率。
400dpi
那么,和有什么区别0.0631mm dot pitch
?
我尝试过的解决方案
我试图通过将最小宽度设置为 360dp 来模拟模拟器中的华硕设备。最初它看起来和华硕一样。模拟器正在xhdpi
挑选dimens.xml
. 所以,我做了修改dimens.xml
,xhdpi
但是华硕没有选择那个文件。相反,它选择了xxhdpi
文件。在另一台设备 Realme 3 pro 中使用。我无法修改xxhdpi
文件,因为它会弄乱所有 6 英寸以上显示屏手机的 UI。同时华硕仍在挑选xxhdpi
文件,华硕的用户界面一团糟。
找不到解决办法。
android - ADB 更改系统分辨率,但不适用于应用程序
我有一个需要在 720x1280 360dpi 分辨率下工作的应用程序,当我使用 ADB sell wm 更改分辨率和 dpi 时,这会更改我手机上的分辨率。但是,该软件仍无法将分辨率识别为 720x1280。当使用 adb shell dumpsys 窗口显示它显示 init=1080x2160 480dpi base=720x1280 320dpi cur=720x1280 app=720x1128 rng=720x672-1128x1080。应用程序现在需要 720x1128 吗?可以改成1280吗?