在View内调整SVG图像大小

3

我有一个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
你尝试在视图中为FAB指定宽度和高度,而不是使用wrap_content吗? - drulabs
1个回答

0

支持向量图和动态向量图
向量图可用于将多个 png 资源替换为在 XML 中定义的单个矢量图形。虽然以前仅限于 Lollipop 及更高版本的设备,但现在通过两个新的支持库 support-vector-drawable 和 animated-vector-drawable 分别提供了 VectorDrawable 和 AnimatedVectorDrawable。

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

// 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" />

有用的链接 支持矢量可绘制对象和动画矢量可绘制对象


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接