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

时间:2015-05-29 12:39:55

标签: android android-studio autocomplete

是否可以将Android Studio配置为仅显示项目文件夹中的@drawable资源?

我正在开展的项目是一个行业项目,很少要求我使用R资源。

enter image description here

2 个答案:

答案 0 :(得分:4)

查看AS的代码完成情况'部分,我没有找到任何允许隐藏SDK资源并使用app / lib资源的设置:

enter image description here

StefMa提到的最近实现的功能可能无法帮助您,因为它以另一种方式工作:它允许库开发人员隐藏aar包中的一些资源并仅显示选定的资源部分,即公共资源。 Chris Banes在此功能here中做了一个很好的介绍。

答案 1 :(得分:3)

我认为你不能这样做,只有图书馆开发者可以选择隐藏他们aar发行版中的资源。

因此,您依赖图书馆开发人员为您做到这一点。幸运的是,最新的Android支持库应该已经为您完成了这项工作。

库开发人员可以隐藏其库中的资源的方式是:

  1. 使用名为res的子文件夹创建与res-public values相同级别的新文件夹(名称不重要):
  2. src
        main
             java
             res
             res-public
                 values
    
    1. 在该文件夹中创建一个名为public.xml的新文件,您可以使用name后跟type
    2. 来定义要公开的所有资源
      <resources>
          <public type="drawable" name="btn_login"/>
      </resources>
      
      1. 然后确保在build.gradle文件中引用此新文件夹:
      2. android {
            compileSdkVersion 21
            buildToolsVersion "21.1.2"
        
            sourceSets {
                main.res.srcDirs 'res', 'res-public'
            }
        
            defaultConfig {
               ...
            }
        }
        
        1. 确保您至少使用Gradle插件的1.3版本
        2. buildscript {
              repositories {
                  mavenCentral()
              }
              dependencies {
                  classpath 'com.android.tools.build:gradle:1.3.0'
              }
          }
          
          1. 将您的库编译为aar文件,并将其包含在您的项目中。现在只能看到btn_login资源。
            • 检查here如何包含本地aar文件,这样您就可以在不推送Maven仓库的情况下进行测试。