【问题标题】:Android dpi ice cream sandwich problemsAndroid dpi冰淇淋三明治问题
【发布时间】:2014-03-26 14:55:57
【问题描述】:

我有两个值文件夹:

  • 价值观
  • values-sw320dp

我在装有 Ice Cream Sandwich 的设备上运行该应用程序。

尽管设备具有 240 dpi 显示屏,但它会从 values-sw320dp 文件夹而不是 values 文件夹中读取值。

 <?xml version="1.0" encoding="utf-8"?>
 <!--
 Copyright (C) 2011 Ximpl
 All Rights Reserved. This program and the accompanying materials
 are owned by Ximpl or its suppliers.  The program is protected by international copyright   
    laws and treaty provisions.  Any violation will be prosecuted under applicable laws.

  NOTICE: The following is Source Code and is subject to all restrictions on such code as contained in the End User License Agreement accompanying 
   this product.


        -->
  <resources>
 <dimen name="selectYourCountrySize">14sp</dimen>
 </resources>

这种行为的原因是什么?

【问题讨论】:

    标签: android android-resources dpi qualifiers


    【解决方案1】:

    sw 限定符用于根据设备上可用的最小宽度定义值(因此,当处于纵向模式时)。它不是基于设备密度。

    屏幕的基本尺寸,由可用屏幕区域的最短尺寸表示。具体来说,设备的 minimumWidth 是屏幕可用高度和宽度中最短的(您也可以将其视为屏幕的“最小可能宽度”)。您可以使用此限定符来确保,无论屏幕的当前方向如何,您的应用程序都有至少 dps 的宽度可供其 UI 使用。

    Source

    【讨论】:

    • 你好,那我也应该重命名 sw-320dp 吗??
    • 如果您想根据显示密度使用不同的值,您需要使用 dpi 限定符插入不同的文件夹。例如:values-ldpi、values-mdpi、values-hdpi、values-xhdpi
    【解决方案2】:

    如果您想拥有/res 文件夹,特别是对于密度高于 320dpi 的设备,那么您应该使用以下文件夹名称:

      values-xhdpi 
    

    如果您希望它仅用于 API 15 及更高版本(您对此不太清楚),您可以使用:

      values-v15
    

    甚至可以结合使用:

      values-xhdpi-v15
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-02
      • 1970-01-01
      • 1970-01-01
      • 2012-01-28
      • 2013-03-29
      • 1970-01-01
      • 2012-03-11
      • 2012-03-21
      相关资源
      最近更新 更多