2012-03-20 3 views
22

나는이 문제가 추적 스택을 볼 수있다 :사용하여 당김 자원

E/AndroidRuntime(2410): Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #5: <bitmap> requires a valid src attribute 

내 xml 파일은 다음과 같습니다

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item> 
     <bitmap android:src="@drawable/btn_1"/> 
    </item> 
</layer-list> 

btn_1을가 당김 자원 의 다른 XML 파일입니다 내가 사용하는 경우 xml 드로어 블 대신 이미지 (* .png)는 괜찮습니다.

비트 맵에 drawable 리소스를 src로 사용할 수 있습니까? 여기 내 btn_1.xml 파일이 있습니다. btn_1 파일에 항목이없는 경우에도 작동하지 않습니다.

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
<item android:drawable="@drawable/btn_arrow_bg_red"/> 
<item> 
    <bitmap 
     android:gravity="center" 
     android:src="@drawable/btn_arrow_white" /> 
</item> 
</layer-list> 
+0

들으 : 대신

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

. 하지만 흠. 내가해야 할 일? 하나의 drawable xml 리소스를 다른 리소스보다 위에 배치해야하지만 내 리소스는 크기 조정 중 ... xml 드로어 블 리소스 확장을 피하기 위해해야하는 작업은 무엇입니까? 그리고 중력 매개 변수가 ... –

답변

22

당신은 비트 맵 소스로 당김 XML이 기운 다. 예를 들어 가능한 경우 xml을 호출하여 실수로 블랙홀을 만들 수 있습니다.

가정한다 수 있습니다, 당신은 소스가 B 그릴 수있다 whos는 비트 맵을 가지고 그릴 수있는 XML이있다. 그러나 드로어 블 B에는 비트 맵이 있으며 그 소스는 드로어 블 입니다. 이것은 해결할 수없는 순환 루프를 생성합니다. 바이너리 XML 파일 라인 #XXX : 그것은 당신이 오류를 방지하려면

+0

이 Waqas 주셔서 감사합니다, 나는 정확히 같은 질문을 (하지만이 답변으로 표시됩니다 병합하지 않았다) -하지만 솔루션을 요구하고있다 : http : // stackoverflow. com/questions/10055892/prevent-shapes-layered-with-without-using-bitmap – ataulm

+10

@waqaslam을 사용하면 답변이 정확합니다. XML 드로어 블을 비트 맵의 ​​소스로 사용할 수 없습니다 꼬리표. 내가 혼동스럽게 생각하는 것은 사용자의 설명입니다. 순환 참조는 XML 자원을 참조 할 때 어떤 상황에서도 발생할 수 있습니다. 그것은 나에게 프레임 워크 –

31

비트 맵 혼란을 방지하기위한 소스로 이미지를 제공해야하는 이유입니다 레이어 목록 내부 유효한 src 속성

에게 사용이 필요합니다

<item> 
    <bitmap android:src="@drawable/image"/> 
</item> 
+6

의 디자인 제약 사항 인 것 같지만 tileMode가 필요한 경우 어떻게해야할까요? – Gudin

+7

그래, 비트 맵에 tileMode, tint 또는 다른 많은 속성이 필요한 경우 ...? –

+0

그것은 나를위한 진정한 해결책입니다 !! –