Я использую Android studio 2.2 и использую библиотеку рендеринга SVG для AndroidSVG в своем проекте Android. Вот соответствующий раздел кода для чтения конкретного SVG.Чтение SVG из папки с ресурсами получает ошибку?
// Read an SVG from the assets folder
SVG svg = SVG.getFromAsset(getContext().getAssets(), filename);
// Create a canvas to draw onto
if (svg.getDocumentWidth() != -1) {
Bitmap newBM = Bitmap.createBitmap(Math.ceil(svg.getDocumentWidth()),
Math.ceil(svg.getDocumentHeight()),
Bitmap.Config.ARGB_8888);
Canvas bmcanvas = new Canvas(newBM);
// Clear background to white
bmcanvas.drawRGB(255, 255, 255);
// Render our document onto our canvas
svg.renderToCanvas(bmcanvas);
}
я создал папку Assets правильно, но следующая строка показывает ошибку getAssets()
, которая не может решить метод.
SVG svg = SVG.getFromAsset(getContext().getAssets(), Freesample);
Как я могу это решить?
Ну, 'Context' имеет [' getAssets() '] (https://developer.android.com/reference/android/content/Context.html#getAssets()). Вы уверены, что 'getContext()' возвращает 'android.content.Context'? Что такое «Freesample»? – CommonsWare
@CommonsWare 'Freesample' - это мое имя файла svg. 'getContext()' возвращает 'import static java.security.AccessController.getContext;' – isuru