问题标签 [hdpi]

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.

0 投票
2 回答
7348 浏览

android - 画布位图绘制和屏幕密度

我正在开发基于 SurfaceView 类的安卓游戏。目前,我一直在尝试针对不同的屏幕尺寸优化视图。

问题 1:我的 res 文件夹中有 PNG 文件,我使用 Canvas.drawBitmap 绘制它们。阅读本文(http://developer.android.com/guide/practices/screens_support.html)后,我认为如果屏幕更大,android 会调整位图的大小。不幸的是,在平板电脑上启动我的应用程序与在手机上启动它时,我发现没有缩放(或任何变化)。那么它是如何完成的呢?我应该想出一些奇特的策略来计算可用空间并使用源矩形和目标矩形绘制我的位图吗?如果有人有最佳实践或一些提示如何在画布上绘制位图,那就太好了。我已经阅读了像素<->dip 转换主题,但我不得不说我不知道​​如何在我的应用程序中使用该“解决方案”。所以任何帮助表示赞赏......

问题 2:我的 res 文件夹中有 3 个 PNG。一个 ldpi、一个 mdpi 和一个 hdpi。Ldpi 图像有 50px*50px,mdpi 有 75px*75px,hdpi 有 100px*100px。当我在模拟器(800*480)中加载应用程序时,它使用 100*100 png。当我在 Acer Iconia Tab 上加载应用程序时,它使用 75*75 图像。我认为 hdpi 用于大屏幕(=tab),而 mdpi 或 ldpi 将用于模拟器屏幕。至少我认为android也会在标签上使用hdpi-image,但我很惊讶......对此的任何解释都非常感谢

抱歉 4 长文本,只是想清楚...

赛亚·埃夫迪

0 投票
5 回答
19452 浏览

android - 如何为 Kindle Fire 配置 Android 模拟器?

我想配置一个模拟器来兼容 Kindle Fire,包括它的分辨率。我必须在模拟器设置(或其他地方)中更改什么?

0 投票
2 回答
1008 浏览

android - 布局在 hdpi 设备中不缩放

我创建了一个平板电脑特定的应用程序,它在 mdpi 设备中看起来不错。但是,当应用程序在 hdpi 设备中显示时,布局和图像看起来太大了。

这是第一个在 170 dpi 的 7 英寸平板电脑上看起来不错的屏幕截图 。https: //docs.google.com/open?id=0BzrCAhSkqDnbNWJhMjhmMjgtM2U2Yi00NTEwLWE0ODItZGJiOTBkYzM0MWY2

这是从设置为 240 dpi 的模拟器中截取的第二个屏幕截图。我认为这是模拟器的问题,但原来的三星 Tab 也发生了同样的事情,它报告自己是 hdpi 设备。 https://docs.google.com/open?id=0BzrCAhSkqDnbY2NmOTFkZGQtNDEyNC00MDJmLTljOTQtOTYzNGIxNmJiNDEz

我所有的图像都在文件夹 drawable-mdpi 下。我的布局是背景图像和图像视图的组合,并使用了几个 RelativeLayouts 和 FrameLayouts。鉴于图像的数量和大小,无法在 drawable-hdpi 下创建相应的图像。我的 android:minSdkVersion 是 9。

我在整个互联网上搜索,似乎无法找到答案。我不认为 ScaleType 会起作用,因为我的很多图像都是基于背景的。

此外,当我在 hdpi 手机(Samsung Nexus)上尝试此操作时,同样的事情发生了 - 布局和图像太大而无法显示在显示器上 - 这就是为什么我怀疑这是由于 hdpi 设备造成的。

谢谢你。

0 投票
3 回答
1771 浏览

android - 在 Kindle Fire 上使用 HDPI 资源

我目前正在考虑让我的 android 应用程序在 Kindle Fire 上运行。我有 MDPI 和 HDPI 屏幕的图稿,但我注意到当我在 Kindle 上加载应用程序时,它会显示 MDPI 图稿并拉伸我的一些图稿.

我想知道在某些情况下(比如我在 Kindle 上),Android 上是否有任何方法可以强制它从 HDPI 图稿加载,而不是默认为 MDPI。

我确实意识到我可以将我的 HDPI 图稿保存在 MDPI 文件夹中,名称稍有不同,并检查每个资源,但这是很多开销,更不用说增加我的应用程序的大小了,我d也想避免。

谢谢

更新:还在看这个。我想我真正想说的是,即使存在 MDPI 图稿,Android 设备是否有办法选择 HDPI 图稿而不是 MDPI?

0 投票
2 回答
1606 浏览

android - 针对不同 DPI 的 OpenGL 表面视图缩放

我有一台分辨率为 800x480 的设备。当我创建 GLSurfaceView 时,我接到一个onSurfaceChanged533x320 的电话(显然应用了 1.5 HDPI 修改器)并且表面被放大了。因此,当我绘制 1 像素粗线时,看起来真的很糟糕,而且我无法进行像素完美的渲染。

我想要的是原生分辨率表面(800x480)。

视图以这种方式创建(如在 NDK OpenGL 示例中),在 Activity 中onCreate

我不使用任何布局等。

0 投票
3 回答
3354 浏览

android - 不同密度设备的字体大小

当我使用 Eclipse Emulator 测试具有不同密度设置的字体大小时,即使我使用“dp”来指定大小,我也会得到不同大小的字体。我原以为尺寸可能会随着密度的增加而减小,但我发现密度越高,字体就越大。我尝试使用“in”和“mm”并发生相同的行为,因为密度越高,字体越大。这是基于 android:minSdkVersion="10"。

有什么方法可以将字体大小设置为不同密度的相同大小?

这是xml文件:

不幸的是,由于缺乏声誉,我无法发布三个模拟器设置的字体大小的图像。

谢谢你。

0 投票
1 回答
139 浏览

android - 确保精灵在 Android 上可见

我是 Android 开发新手,目前正在创建一个 Space Invaders 游戏,以帮助我熟悉表面视图、位图、画布、线程等。

到目前为止,一切都很好。我目前在真正的平板电脑上运行得非常好。

但是,在低 dpi 分辨率的模拟器上,它看起来很糟糕。

我意识到 Android 屏幕有许多不同的分辨率,如果分辨率低于我的预期,我可能需要缩小我的精灵。

我只是不能完全掌握确保一切“适合”的最佳方法:也就是说,所有精灵都按比例显示在屏幕上,并且当它们移动时,它们也会按比例移动。在 PC 上,我会使用永远不会增长或缩小的固定大小的后备缓冲区,blit 到那个,然后将后备缓冲区向上/向下缩放到所需的范围,但在 Android 上?

我对屏幕密度有所了解,并创建了 mdpi 和 hdpi 精灵(分别为 48 x 24 和 48 x 32 像素宽度和高度),我想知道这些精灵是否与 dpi 设置成比例?

任何帮助表示赞赏。

0 投票
3 回答
1156 浏览

android - Android:处理相同dpi级别但不同的屏幕

我已经阅读了所有关于处理多种屏幕尺寸的 Android 文档,但我仍然无法找到这个问题的答案或如何处理这个问题。

如果有两部手机具有相同的 dpi 级别(例如都是 hdpi),我可以为它们提供一个资源并设置布局参数,如下所示:

此实例中的“图标”足够大,因此它会按比例缩小以适应所有情况下的布局。在理想情况下,我会假设图标在所有 hdpi 设备上的显示尺寸完全相同,但是当我在 LG G2x 和 HTC Sensation 上进行测试时,Sensation 上的图像会更小。那么在计算 hdpi 图像的大小时,Android 是否总是只使用 1.5 倍的系数?我可以做些什么来保证所有 hdpi 设备上的大小完全相同?谢谢。

0 投票
1 回答
1116 浏览

android - 如果图像相同,我应该为所有可绘制文件夹(ldpi-mdpi-hdpi)创建调整大小的图像吗?

如果图像相同但仅调整大小,我应该创建(调整大小)所有图像吗?还是让系统为我调整图像大小并只发布带有 hdpi 图像的应用程序?

对我来说,如果图像不同,则创建新图像是有意义的,例如,如果调整大小的图像不适合 ldpi 屏幕,则需要使用更少的信息创建另一个图像。

如果我只发布带有 hdpi 图像的应用程序,我会在小型设备上遇到内存问题吗?

谢谢!

0 投票
1 回答
323 浏览

android - WVGA854 和 160dpi 的 AVD 使用了错误的布局

有两种布局:layout-sw480dp-hdpi 和 layout-sw480dp-mdpi WVGA854 和密度 160dpi 的 AVD

在这个 AVD 上,我的应用程序总是使用 layout-sw480dp-hdpi,而不是 layout-sw480dp-mdpi。我认为应该使用 layout-sw480dp-mdpi。