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

Mac*_*ado 10 android autocomplete android-studio

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

我正在研究的项目是一个工业项目,很少需要我使用R资源.

在此输入图像描述

Jer*_*ols 4

我认为实际上您不能这样做,只有库开发人员可以选择隐藏其aar发行版中的资源。

因此,您需要依赖库开发人员来为您完成这项工作。幸运的是,最新的 Android 支持库应该已经为您完成了这项工作。

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

  1. res在名为的同一级别创建一个新文件夹res-public(名称不重要),其中包含一个名为 的子文件夹values
src
    main
         java
         res
         res-public
             values
Run Code Online (Sandbox Code Playgroud)
  1. 在该文件夹中创建一个名为 的新文件public.xml,在其中定义您想要公开的所有资源,并在其后name添加type
src
    main
         java
         res
         res-public
             values
Run Code Online (Sandbox Code Playgroud)
  1. 然后确保在您的build.gradle文件中引用这个新文件夹:
<resources>
    <public type="drawable" name="btn_login"/>
</resources>
Run Code Online (Sandbox Code Playgroud)
  1. 确保您使用的 Gradle 插件至少为 1.3 版本
android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    sourceSets {
        main.res.srcDirs 'res', 'res-public'
    }

    defaultConfig {
       ...
    }
}
Run Code Online (Sandbox Code Playgroud)
  1. 将您的库编译成一个aar文件并将其包含到您的项目中。现在只有btn_login资源可见。
    • 检查此处如何包含本地aar文件,以便您无需推送到 Maven 存储库即可进行测试。