我听说过来自Trello的Dan Lew制作的一个名为Victor的精彩插件。插件的目的是使用.svg
个文件作为资源。该插件将所有密码转换为.png
,以满足不同屏幕分辨率所需的所有密度。这对我来说很棒,因为我的应用程序中有一堆AnimationDrawables,现在我不必为动画中的每一帧制作不同的副本。唯一的问题是我不知道如何让它发挥作用。
这是github here
的链接文档中没有太多内容,所以我希望它很容易设置。我很确定我正确设置了build.gradle
。
的build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.trello:victor:0.1.5'
}
}
apply plugin: 'com.android.application'
apply plugin: 'com.trello.victor'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.firsttread.anthony.victor"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
svg.srcDir 'src/main/svg'
}
}
}
victor {
// Any assets defined in relative terms needs a base DPI specified
svgDpi = 72
// Do not generate these densities for SVG assets
excludeDensities = [ 'ldpi', 'xxxhdpi' ]
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
}
在Android Studio的插件搜索中找不到该插件。我从github下载了Victor并尝试从磁盘获取插件,但是当我导航到该文件夹时,没有选择的选项。
我正在查看Android文件夹并注意到我通过AS插件安装程序安装的其他插件之一已放入.AndroidStudio1.5/system
,因此我将Victor文件夹放在那里并重新构建gradle并在其中包含代码没有错误,但是当我尝试运行代码时,它无法在运行时识别drawables(.svg
文件)。
根据他们在存储库中的示例,我在app下创建了一个svg文件夹。它似乎不在res目录中。然后我在那里添加了.svg
文件,但gradle仍然没有识别svg格式,我认为现在应该这样。
IDK,如果我搞砸了安装Victor,或者我没有正确使用它。
答案 0 :(得分:0)
您不需要在Android Studio中安装任何内容。它不是Android Studio的插件。它是一个"插件"用于构建过程。 Gradle将在构建时下载并运行该插件。
首先要放置SVG文件。在build.gradle文件中,您将SVG文件的位置指定为src/main/svg
。但听起来你并没有把它们放在那里。你说你把它们放在res
文件夹中。从修复它开始。尝试将它们移到src/main/svg
。