标签: screen-density

Android 初始屏幕:缩放位图

我基本上将以下 xml 用于 Android启动屏幕:空活动windowBackground

<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="android:windowBackground">@drawable/background_splash</item>
</style>
Run Code Online (Sandbox Code Playgroud)

background_splash.xml:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <color android:color="@color/defaultBackground" />
    </item>
    <item>
        <bitmap
            android:src="@drawable/logo"
            android:tileMode="disabled"
            android:gravity="center"/>
    </item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)

只要logo.png小于屏幕尺寸,就可以正常工作。如果logo.png比屏幕大,它就会超出屏幕。

我看到了 3 种解决方法,但都有缺点:

  1. 设置left/ right<item但这需要 API 23+
  2. 因等而@drawable/logoxhdpixxhdpi但我使用的是密度分割,当为其他设备重用 apk 时(apk 网站、“移动到新设备”-传输 apk 的应用程序等),这会破坏它
  3. 使用带有 的布局ImageView,但这有明显的延迟

如何正确/没有缺点地做到这一点?

android splash-screen android-layout pixel-density screen-density

3
推荐指数
1
解决办法
2889
查看次数

安卓 420 dpi 和 560dpi

有没有办法为 420 dpi 和 560 dpi 设备创建可绘制文件夹和值文件夹?一种用于 420 dpi,一种用于 560 dpi。

420dpi:三星 Galaxy S5、S4、LG G5、...

560dpi: Nexus 6, 三星 S6, S7, ...

因为在这些类型的设备中,我的应用程序看起来不太好。drawable-xxhdpi 中的图像在 420 dpi 的设备中较小。因为乘以图像的宽度 x 2,625(密度)。我需要更大的图像或将图像乘以 x 3。

android drawable screen-density

2
推荐指数
1
解决办法
4240
查看次数

Android高度屏幕限定符不起作用

我已使用此限定符“ h900dp”创建了资源文件,假设屏幕的最小高度为900dp。

我的设备具有以下DisplayMetrics:

{density=2.0, width=1200, height=1824, scaledDensity=2.0, xdpi=320.842, ydpi=322.966}
Run Code Online (Sandbox Code Playgroud)

我认为这意味着高度为912dp。

那么为什么不使用我的资源文件。

谢谢

android screen-density

0
推荐指数
1
解决办法
901
查看次数

如何使用 android studio 创建 avd 以预览真实设备?

我创建了小米红米 3s (294dpi) 的 avd,其规格为:

在此处输入图片说明

在此处输入图片说明

Android中的广义密度是:

  • Ldpi(低)~ 120 dpi -> dp = px * 0.74
  • Mdpi(平均)~ 160 dpi -> dp = px * 1
  • Hdpi(高)~ 240 dpi -> dp = px * 1.5
  • Xhdpi (extraalta) ~ 320 dpi -> dp = px * 2
  • Xxhdpi(extraalta)~ 480 dpi -> dp = px * 3
  • Xxxhdpi (extra extra extraalta) ~ 640 dpi -> dp = px * 4

当我用设备规格创建avd时,分配的密度为xhdpi(x2),但实际设备密度因子小于x2,与大多数设备一样,因此预览结果与设备屏幕的实际外观不匹配。比如Nexus 5x也是这样,资源密度为xxhdpi(x3),但实际密度为2.63

在 Android Studio 中,Nexus 5x 或 Pixel XL 等模拟设备分别指定了 420dpi 和 560dpi …

android android-virtual-device android-studio screen-density

0
推荐指数
1
解决办法
2103
查看次数