在View中调整SVG图像的大小

时间:2016-04-12 03:12:40

标签: android android-studio svg view android-gradle

我有一个FloatingActionButton,其SVG图像绑定到它的src属性。但它没有查看我需要的大小,如何调整大小以显示更大的图像?

这是我的绘画:

<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24.0"
    android:viewportHeight="24.0">
<path
    android:fillColor="#ffffff"
    android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>

以下是我的观点:

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|end"
    android:layout_margin="@dimen/fab_margin"
    android:src="@drawable/ic_add_24dp" />

1 个答案:

答案 0 :(得分:0)

支持矢量Drawables和动画矢量Drawables Vector drawables允许您使用XML定义的单个矢量图形替换多个png资源。虽然之前仅限于Lollipop和更高版本的设备,但VectorDrawableAnimatedVectorDrawable现在分别通过两个新的支持库支持矢量绘图和动画矢量绘图提供。

Android Studio 1.4通过在构建时生成png来引入对矢量drawables的有限支持。要禁用此功能(并获得此支持库的真正优势和空间节省),您需要将vectorDrawables.useSupportLibrary = true添加到build.gradle文件中:

// Gradle Plugin 2.0+

 android {  
   defaultConfig {  
     vectorDrawables.useSupportLibrary = true  
    }  
 }   

您会注意到此新属性仅存在于Gradle插件的2.0版本中。如果您使用的是Gradle 1.5,则可以使用

// Gradle Plugin 1.5

 android {  
   defaultConfig {  
     generatedDensities = []  
  }  

  // This is handled for you by the 2.0+ Gradle Plugin  
  aaptOptions {  
    additionalParameters "--no-version-vectors"  
  }  
 } 

你的xml布局添加了这段代码app:srcCompat="@drawable/ic_add"。就像这段代码一样:

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|end"
    android:layout_margin="@dimen/fab_margin"
    app:srcCompat="@drawable/ic_add_24dp" />

有用的链接 Support Vector Drawables and Animated Vector Drawables