【问题标题】:Android multiple screen design安卓多屏设计
【发布时间】:2012-07-02 10:27:19
【问题描述】:

我知道有很多关于在 Android 中设计多屏幕支持的文档。我已经阅读了Android指南here以及一些类似的问题,例如this

但是,对于如何为我的应用程序实现它,我仍然有些困惑。我计划针对以下设备配置

我认为我需要按如下方式构建项目布局是否正确:

  • 中密度普通屏幕 HVGA 320x480 (160dpi):

    res/layout-mdpi (320 x 480 )
    res/layout-land-mdpi (480 x 320 )
    
  • 高密度普通屏幕 WVGA800 480x800 (x854) (240 dpi)

    res/layout-hdpi (480 x 800)
    res/layout-land-hdpi (800 x 480)
    

但是中等密度的大屏幕设备呢?

我也计划使用高密度和中等密度的绘图集。在这个早期阶段,我主要关心的是为每个布局使用合适的背景图像。例如,为了支持同时支持 480x800 和 480x854 尺寸,我打算简单地使用 ImageView 作为背景,例如:

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/bg"
    android:scaleType="center"/>

“bg”drawable 将始终为 480x854 并使用:

android:scaleType="center"

我希望这将处理这两种屏幕尺寸。从而图像保持其原始外观,但以 480x800 屏幕为中心。我会从图像中丢失一些像素,但只要图像没有被缩放就可以满足我的需要。

我计划为普通屏幕制作一组 320x480 资源。

我只是希望我在这里遵循正确的程序,因此我感谢你们提供的任何信息/提示。提前致谢

【问题讨论】:

  • 不确定您的问题/问题到底是什么,您的链接和此链接developer.android.com/guide/practices/screens_support.html 应该可以帮助您入门。我对多屏幕尺寸支持的经验是,有时在您拥有实际设备来测试您的布局之前,您不会看到问题。此外,您还缺少 xhdpi,越来越多的新设备正在使用此显示配置。

标签: android android-layout android-assets android-screen-support


【解决方案1】:

根据我的经验,您不需要为小/中/大/等屏幕自定义布局,只要您有不同密度的可绘制对象即可。如文档所述,Android 将尝试在不同的屏幕尺寸上正确呈现您的布局。

默认情况下,Android 会调整应用程序布局的大小以适应当前设备屏幕。在大多数情况下,这可以正常工作。在其他情况下,您的 UI 可能看起来不太好,可能需要针对不同的屏幕尺寸进行调整。

“其他情况”仅适用于您确实想在大屏幕上更改布局。

使用android:scaleType="center" 对我有用,但正如您所说,如果它也应该适合较小的屏幕,它会在较大屏幕上的布局周围留下空白空间。如果您有一个完全自定义的视图,其中包含应该完全正确放置的“小部件”,并且您不希望以编程方式确定缩放并将相同的缩放应用于您的小部件,那么这绝对是要走的路。

【讨论】:

  • 是的,谢谢@Ibatteau,这当然是个好信息。在阅读了更多内容之后,专注于拥有正确的密度资产是前进的方向。 android:scaleType="center" 至少可以帮助我处理 480x800 / 480x854 背景。我接受这个答案,但如果可能的话,我希望能听到更多的回答,所以这会结束这个问题吗?我是该网站的新手 :)
  • 别担心,接受它不会关闭问题,其他人可以随时评论或添加新答案。有点令人失望的是,下面的@Raykud 对我曾经给出的每一个答案都投了反对票:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-18
  • 1970-01-01
  • 2011-07-31
相关资源
最近更新 更多