在Android Studio 1.3+自动完成中隐藏android.R资源

是否可以configurationAndroid Studio以仅显示项目文件夹内的@drawable资源?

我正在从事的项目是一个行业项目,很less需要我使用R资源。

在这里输入图像说明

Solutions Collecting From Web of "在Android Studio 1.3+自动完成中隐藏android.R资源"

查看AS的“代码完成”部分,我没有发现任何允许隐藏SDK资源并使用app / lib资源的设置:

在这里输入图像说明

最近实现的function,由StefMa提到,可能不会帮助你,因为它以另一种方式工作:它允许库开发人员隐藏aar软件包中的一些资源,只显示选定的资源部分,也就是公共资源 。 Chris Banes在这里介绍了这个function。

我不认为你可以做到这一点,只有图书馆开发者可以select隐藏资源在他们的分布。

所以你依靠图书馆开发人员来为你做。 幸运的是,最新的Android支持库应该已经为你做了这个。

图书馆开发人员可以将资源隐藏在图书馆的方式是:

  1. 创build一个名为res-public (name不重要) res-public的同一级别上的新文件夹,并使用名为values的子文件夹:
 src main java res res-public values 
  1. 在该文件夹中创build一个名为public.xml的新文件,在其中定义您希望公开name所有资源,然后type
 <resources> <public type="drawable" name="btn_login"/> </resources> 
  1. 然后确保在build.gradle文件中引用这个新文件夹:
 android { compileSdkVersion 21 buildToolsVersion "21.1.2" sourceSets { main.res.srcDirs 'res', 'res-public' } defaultConfig { ... } } 
  1. 确保您至less使用了Gradle插件的1.3版本
 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:1.3.0' } } 
  1. 将你的库编译成aar文件,并将其包含到你的项目中。 现在只有btn_login资源可见。
    • 在这里检查如何包括一个本地的aar文件,所以你可以testing,而无需推到Maven回购。