2016-07-26 24 views
6

我想在SD卡的圖像視圖中顯示矢量圖像(說vectorimage.xml)。請詳細瞭解如何在android中執行此操作。 我已經嘗試過: -加載一個可拖動到SD卡的imageview矢量

String imagePath = Environment.getExternalStorageDirectory() + "/ folder/productImage.xml"; 

bitmapImage = BitmapFactory.decodeFile(imagePath); 
Drawable bgrImageDrawable = new BitmapDrawable(bitmapImage); 

因爲BitmapImage的來臨爲空上面的代碼片斷不起作用。

+0

您是否獲得在ImagePath的路徑檢查,並在menifest – Vickyexpert

+1

是的,我有此用相同的代碼片斷JPEG工作還要檢查許可。 –

+0

@RamyaBA即使我面臨同樣的問題。 –

回答

3

BitmapFactory無法加載矢量繪圖。 您必須使用VectorDrawable或VectorDrawableCompat類。 要加載一個可繪製的矢量,你需要使用一個xml加載器。

像資源一樣的解析器需要一個預編譯的二進制xml文件。當您將可繪製矢量繪製到可繪製資源目錄中時,您可以在apk文件中找到它們。

以下是從資產加載它的示例,您應該能夠使用類似的代碼從SD卡加載。

final XmlResourceParser parser = context.getAssets().openXmlResourceParser("assets/folder/image.xml"); 
drawable = VectorDrawableCompat.createFromXml(context.getResources(), parser); 

這樣至少需要的是Android 5.0

+1

這不是Sd卡(外部存儲)的工作。 – Jorgesys

+0

爲此創建了一個請求:https://issuetracker.google.com/issues/62435069 –