2015-11-06 36 views
10

我的問題與此相關:link。我最近將Android的大部分資源從不同分辨率的png文件更改爲矢量繪圖。我使用的是"swipe-to-delete" library,可以在滑動過程中更改其視圖的背景,以顯示帶有垃圾箱圖標的Gmail式紅色背景,類似於此(具有綠色背景且帶有檢查圖標):Android Layer-List VectorDrawable大小

enter image description here

我使用的使用下面的代碼來執行,並且我仍然< API 21

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <color android:color="@color/accent"/> 
    </item> 
    <item android:right="@dimen/activity_horizontal_margin"> 
     <bitmap 
      android:gravity="right|center_vertical" 
      android:src="@drawable/ic_delete_24dp"/> 
    </item> 
</layer-list> 

然而這樣做,需要API 21+

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <color android:color="@color/accent" /> 
    </item> 
    <item android:right="@dimen/activity_horizontal_margin" 
      android:drawable="@drawable/ic_delete_24dp" 
      android:gravity="right|center_vertical"/> 
</layer-list> 
01不同的語法

現在,API 21 & API 22(棒棒糖)上的圖標被拉伸以填充屏幕,而不是左/右側的圖標。有什麼方法可以指定圖標的寬度嗎?

+0

就像一個更新,該bug修復過去23 API(棉花糖),並且只存在於棒棒糖 –

+1

什麼解決辦法? –

+3

屬性'android:drawable'在API 19中出現崩潰,'app:srcCompat'在'layer-list'中似乎不起作用。你如何處理它? –

回答

0

添加到您的應用級的build.gradle文件

defaultConfig { 
    vectorDrawables.useSupportLibrary = true 
}