2016-09-23 4 views
0

어떻게 온라인 위치 예컨대 http://arsenal.com/image.xml에서 벡터 드로어 블을로드하고로드 벡터 드로어 블

+0

URL을 브라우저에 전달 하시겠습니까? 또는 당신은 무엇을 의미합니까? –

+0

URL을 가져오고 이미지로드 관리자를 사용하여 표시하십시오. – Idee

답변

1

당신이 오래된 장치에 VectorDrawables를 지원해야합니까 이미지로 표시 할 수 있습니까? 그렇다면 현재 가능하다고 생각하지 않습니다. AFAIK 지원 라이브러리는 자원 (예 : setImageResource()을 통해) 인 경우에만 VectorDrawable을 할당하도록합니다.

http://android-developers.blogspot.co.nz/2016/02/android-support-library-232.html

대안은 대신 SVGs를 사용하고 안드로이드에 대한 SVG 라이브러리 중 하나를 사용하는 것입니다.

그러나 Lollipop 이상 만 지원해야하는 경우 아래에 설명 된 절차를 따라야합니다. 나는 그것을 직접 시도하지는 않았지만.

먼저 VectorDrawable 파일을 스트림으로 가져옵니다. 예를 들어 this question을 참조하십시오.

그런 다음 XmlPullParser 인스턴스를 만들어야합니다.

xppXmlPullParserFactory factory = XmlPullParserFactory.newInstance(); 
XmlPullParser xpp = factory.newPullParser(); 

그럼 그럼 당신은 inflate()를 호출하여 VectorDrawable을 얻을 수있는 스트림

xpp.setInput(input, null); 

에 대해 파서를 말한다. 파서 인스턴스를 전달하십시오.

VectorDrawable vd = new VectorDrawable(); 
vd.inflate(getResources(), xpp, null, null); 

그런 다음 드로어 블을 ImageView에 할당 할 수 있어야합니다.

imageView.setImageDrawable(vd); 

행운을 빈다.