是否可以在Xamarin.Android中使用SVG作为ImageButton?如果是这样,怎么样?

时间:2017-07-13 17:58:54

标签: android svg xamarin xamarin.android

我从Material Icons网站下载了一个SVG,我希望将其显示为一个按钮。

<ImageButton
          android:id="@+id/buttonSettlement"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:src="@drawable/ic_alarm_black_24px"
          android:text="@string/settlement"
          android:layout_gravity="left"
          android:scaleType="center" />

什么都没有出现。 任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:2)

  

是否可以在Xamarin.Android中使用SVG作为ImageButton?如果是这样,怎么样?

Android不支持SVG。所以它不能直接使用。

但正如@Paul所说,你可以利用VectorDrawable。但首先,您需要将SVG图像转换为VectorDrawable。您可以使用Android Studio执行此操作,如this blog中所述。或使用this等在线转换器。

获取xml文件后,将其复制到Resources\drawable并在ImageButton中以与图像相同的方式使用它:

<ImageButton
      android:id="@+id/buttonSettlement"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:src="@drawable/ic_alarm_black_24px"
      android:text="@string/settlement"
      android:layout_gravity="left"
      android:scaleType="center" />

答案 1 :(得分:0)

Try to use app:srcCompat="@drawable/ic_alarm_black_selector"


Create "ic_alarm_black_selector" in your drawable folder 

<?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">

 <item
    android:drawable="@drawable/ic_alarm_black_24px"/>