【问题标题】:Override res folder determination覆盖 res 文件夹确定
【发布时间】:2013-10-07 07:24:49
【问题描述】:

所以,我正在制作一个应用程序,其中包含许多不同的 res 文件夹,用于存放值、可绘制对象和布局。 变化取决于屏幕尺寸、移动国家/地区代码(我使用此字段来覆盖它,从而在我的应用中启用不同的皮肤,就像 iOS 目标一样)、横向/纵向、屏幕宽度、语言和 dpi。

这个应用程序最大的问题之一是我需要同时支持平板电脑和手机。我在 layout-normal 下为手机创建了一个布局。如果我这样做,似乎我必须将我的平板电脑布局复制粘贴到 layout-large 和 layout-xlarge 文件夹中。如果我不这样做,则应用默认为正常布局。

我想知道 Android 中是否有一种方法可以覆盖运行时确定它转到哪个文件夹的方式。这样,我可以通过代码,根据设备的配置将运行时定向到正确的文件夹,而不需要到处复制粘贴我的布局。

注意:

我指定了 1 个我想这样做的原因,但还有其他几个原因。我正在寻找一种方法来覆盖 android 确定它去哪个 res 文件夹的方式,而不是针对我上面指定的 1 个问题的不同解决方案。

任何建议将不胜感激!

【问题讨论】:

  • 并且不需要在所有地方复制粘贴我的布局。 - 使用别名资源,这样你只需要放置一个文件来指示实际指向哪些资源当 Android 找到正确的特定文件夹时。您不能覆盖资源匹配系统(也许如果您运行自己的操作系统版本)。
  • 你能发布一个关于如何完成这项工作的例子吗?
  • 在 M-WaJeEh 回答的链接中,您可以找到 developer.android.com/guide/topics/resources/…
  • 我实际上只是查了一下,这几乎解决了我的问题,所以谢谢!您应该将此作为答案发布,以便我为您提供解决方案。

标签: android android-resources


【解决方案1】:

为了避免重复,您可以使用here 中描述的资源别名机制。该系统可用于 values 文件夹中的图像、布局和其他资源。

【讨论】:

    【解决方案2】:

    选择是根据here 解释的设备配置完成的,因此如果您能找到改变设备配置的方法,那么它将起作用。但它也会影响其他应用程序。有些应用程序可让您更改设备模式。有自定义 ROM 可以提供这种能力,例如偏执的ROM

    【讨论】:

    • 我已经阅读了有关编辑设备配置的信息,并且我已经尝试过了。它适用于某些事情,但它不能解决 large/xlarge 文件夹的确定
    猜你喜欢
    • 1970-01-01
    • 2010-11-21
    • 2014-05-26
    • 1970-01-01
    • 1970-01-01
    • 2012-11-12
    • 2016-10-29
    • 2014-07-01
    • 2013-10-14
    相关资源
    最近更新 更多