【问题标题】:multiple screen support in android [duplicate]android中的多屏幕支持[重复]
【发布时间】:2011-09-17 10:08:53
【问题描述】:

我正在做一个项目,我已经在 nexus one 上对其进行了测试。它在那里正常工作,但我希望我的项目应该与所有屏幕尺寸兼容。 这个怎么做?? 我给了

<supports-screens  android:smallScreens="true"/>
  <supports-screens  android:normalScreens="true"/>
  <supports-screens android:largeScreens="true"/>
  <supports-screens android:anyDensity="true"/>
  <supports-screens android:resizeable="true"
  android:anyDensity="true" />

androidmainfest.xml 中的参数

【问题讨论】:

标签: android resolution


【解决方案1】:

http://developer.android.com/guide/practices/screens_support.html

您必须为 res 文件夹中的不同布局添加不同的文件夹 --> hdpi、mdpi、ldpi 以及为大屏幕添加 xhdpi(用于平板电脑)和 large-hdpi 或 xlarge(用于 NXzoom)。还可以根据屏幕大小在不同的布局中设置不同的图像和文本大小...

【讨论】:

【解决方案2】:

对于Old day,我们曾经为多个屏幕创建不同的布局文件夹,例如layout-small、layout-normal、layout-large、layout-xlarge。但这是大量的工作。所以有一种新的方式来支持多屏。详情如下。

支持多屏(所有手机和平板电脑):

对于手机:我们通常为不同的 dpi 使用不同的值文件夹,并且在该值文件夹中,只有“dimens.xml”文件不同,因为当我们使用不同的设备时,只有尺寸会改变其他比颜色、字符串、样式等所有参数都相同。 对于值文件夹:共有 4 个值文件夹。

values                                    (For mdpi devices)
values-hdpi                               (For hdpi devices)
values-xhdpi                              (For xhdpi devices)
values-xxhdpi                             (For xxhdpi devices)

(这里每个文件夹中只有dimens文件不同,所以除了dimens文件,其他文件只保留在values文件夹中。)

对于平板电脑:我们必须使用 sw (smallestWidth) 概念。例如 sw600dp 表示只有当可用屏幕的最小尺寸至少为 600dp 时系统才会使用这些资源。当屏幕方向改变时,设备的 minimumWidth 不会改变。 通常我们在 res 文件夹中为平板电脑创建两个文件夹:

layout-sw600dp                       (For 7″ to 9″ Screen)
layout-sw720dp                       (For 10″ to above screen)

最后一件事,任何设备(手机或平板电脑)的图像,您必须创建不同的可绘制文件夹:

drawable-mdpi
drawable-hdpi
drawable-xhdpi
drawable-xxhdpi

【讨论】:

  • 请不要复制粘贴很多问题的相同答案。您可以为每个问题提供其应得的单独答案,也可以编写一个规范的答案并将其余问题标记为重复(如果它们确实是重复的)。
  • 我有不同的布局,但仍然无法正常工作。 stackoverflow.com/questions/34378238/landscape-mode-for-app
【解决方案3】:

我正在以这种方式处理它并且它工作正常.....如果有人改进了方法,请指导我

屏幕尺寸 480x800

布局-正常-hdpi-480x800

drawable-normal-hdpi-480x800

屏幕尺寸Galaxy Nexus---虽然它的尺寸是1280x720,但实际上由于系统栏其尺寸(屏幕尺寸)不同

布局-正常-xhdpi

drawable-normal-xhdpi

屏幕尺寸注意5.3---

布局-正常-xhdpi-1280x800

drawable-normal-xhdpi-1280x800

屏幕尺寸S3---

布局-正常-xhdpi-1280x720

drawable-normal-xhdpi-1280x720

屏幕尺寸7inch tab 2支持OS版本3及以上---由于系统栏尺寸(屏幕尺寸)不同,实际不要写尺寸1026x600 bsz

layout-large-mdpi

drawable-large-mdpi

屏幕尺寸7inch tab p1000等支持小于3的操作系统---

layout-large-hdpi-1024x600

drawable-large-hdpi-1024x600

屏幕尺寸 1280x800 选项卡 10.1、10.2、注释 10.1 等 --- 如果需要,您可以添加尺寸,否则就可以了

布局-xlarge-mdpi

drawable-xlarge-mdpi

【讨论】:

【解决方案4】:

上面的所有答案都很棒。很多时候,考虑到一些复杂的布局线Tile,我们在RelativeLayout 中的嵌套LinearLayout 很难适应所有屏幕。

上面的场景可以通过android的百分比支持库适配所有屏幕来解决。

Demo HERE

GitHub Project HERE

<android.support.percent.PercentRelativeLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:id="@+id/fifty_huntv"
        android:background="#ff7acfff"
        android:text="20% - 50%"
        android:textColor="@android:color/white"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_heightPercent="20%"
        app:layout_widthPercent="50%" />
    <TextView
        android:layout_toRightOf="@id/fifty_huntv"
        android:background="#ffff5566"
        android:text="80%-50%"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_heightPercent="80%"
        app:layout_widthPercent="50%"
        />
</android.support.percent.PercentRelativeLayout>

希望有人觉得它有用:-)。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多