适配所有设备的Android启动画面图片尺寸

227

我有一个全屏的PNG图片,想要在启动画面上显示。但是我不知道应该在每个drawable文件夹(ldpi, mdpi, hdpi, 和 xhdpi)里放置什么尺寸的图片。我的应用程序应该在所有手机和平板电脑上都能展示得很好,很漂亮。为了让启动画面在所有屏幕上都显示得漂亮,应该创建哪些尺寸(以像素为单位)的图片呢?


6
好的,以下是您所请求的翻译内容:标题:使用 SlidingPaneLayout 打造真正的 Master/Detail 流程在 Android 应用程序中,Master-Detail 流程通常用于显示层次结构数据。这种模式包括两个连续的面板:一个面板列出了所有可用的数据项(即“Master”),另一个面板则显示所选数据项的详细信息(即“Detail”)。在较小的设备上,这两个面板通常分别占用整个屏幕。但是,在大屏幕上,如平板电脑或桌面计算机,这种布局会显得过于简单并浪费了空间。因此,许多应用程序都采用了一种更灵活的方式来管理这种布局:将两个面板并排放置,并通过向左滑动 “Master” 来显示 “Detail”。在本文中,我将介绍一种名为 SlidingPaneLayout 的 Android 布局,它使得实现这种 Master-Detail 模式更加容易。我将向您展示如何使用它来构建一个真正的 Master-Detail 流程。SlidingPaneLayout 的基础知识SlidingPaneLayout 是一个可以将两个子视图组合在一起的 Android 布局。默认情况下,第一个子视图覆盖了第二个子视图。但是,通过向右侧滑动第一个子视图,可以暴露出第二个子视图。以下是创建 SlidingPaneLayout 的 XML 布局的示例: 在这个布局中,我们定义了两个子视图:Master 和 Detail。Master 视图使用固定宽度(在本例中为 240dp),而 Detail 视图则填充整个剩余空间。要在代码中使用 SlidingPaneLayout,您需要获取对两个子视图的引用,然后根据需要调整它们的大小和位置。以下是一个获取 Master 视图引用并将其大小设置为屏幕宽度 1/2 的示例:SlidingPaneLayout slidingPaneLayout = findViewById(R.id.sliding_pane_layout); View masterView = findViewById(R.id.master_pane); DisplayMetrics displayMetrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); int screenWidth = displayMetrics.widthPixels; masterView.getLayoutParams().width = screenWidth / 2;这就是如何创建和配置 SlidingPaneLayout 的基础知识。接下来,我将向您展示如何在真实应用程序中使用它来实现 Master-Detail 流程。使用 SlidingPaneLayout 实现 Master-Detail 流程为了演示如何在 Android 应用程序中使用 SlidingPaneLayout 来实现 Master-Detail 流程,我们将构建一个名为 CheeseDetail 的简单应用程序。这个应用程序显示了一些奶酪名称,并在用户点击某个奶酪时显示有关该奶酪的详细信息。以下是应用程序的主活动的 XML 布局: - CommonsWare
4
我想创建一个启动画面... - arielschon12
1
@verybadalloc 可能更深入,但我可以向您保证,它对OP的问题没有帮助,因为它发布得太晚了一年:p - keyser
6
是的,我相当确定这没有帮助他。在试图找到答案时,我发现了这个话题,并决定发布另一个答案来帮助在我之后经历同样问题的人们。 - Lucas Cerro
我回答过类似的问题,可能会有帮助。http://stackoverflow.com/questions/30494811/android-splash-screen-dimensions/36381610#36381610 - Ramesh K
https://dev59.com/91kT5IYBdhLWcg3wB7Es#39173958 - ℛɑƒæĿᴿᴹᴿ
11个回答

1

基于Lucas Cerro的这个答案,我使用Android文档中的比例以及答案中的基准线计算了尺寸。希望这能帮助其他人来到这篇文章!

  • xxxlarge (xxxhdpi): 1280x1920 (4.0x)
  • xxlarge (xxhdpi): 960x1440 (3.0x)
  • xlarge (xhdpi): 640x960 (2.0x)
  • large (hdpi): 480x800 (1.5x)
  • medium (mdpi): 320x480 (1.0x baseline)
  • small (ldpi): 240x320 (0.75x) 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接