2011-01-16 3 views
0

안녕하세요 저는 전체 XML 유형 물건에 새로운입니다. 나는 D1을위한 Sourcery라고 불리는 ROM을 만들었고, framework.resk의 값 폴더에있는 drawable.xml에서 가리키고 싶은 xml을 쓰고 싶습니다. 그 부분은 이미 가지고 있습니다. xml을 가리키며 newbackgrounds.xml이라는 이름으로 값 폴더에 생성했습니다.Xml 선택기 유형 질문

배경으로 사용하고 싶습니다. 내 생각에는 이미지를 배경으로 설정하지만 이미지에 검은 색 (#ffffffff)이 없으면 선택기를 사용하는 것이 좋습니다. 이미지는 프레임 워크 res.apk의 그리기 폴더에 유지되고 background_dark.jpg에게 종류의이 같은

뭔가라는 (다시 나는 야 새 그래서 이것은 단지 내 기본적인 생각이 여기에 오류를 용서)

<?xml version="1.0" encoding="UTF-8"?> 
<selector 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item "@drawable/background_dark.jpg"="true" 
android:screen_background_dark="@drawable/background_dark.jpg" /> 
    <item "@drawable/background_dark.jpg"="false" 
android:screen_background_dark="#ffffffff" /> 
</selector> 

그러나 작동하지 않아 변경해야 할 사항이 있습니까? 도움이나 다른 대안을 제공해 주셔서 감사합니다.

답변

1

XML이 유효하지 않습니다. 이것은 선택자가 아니며 Android의 자원 시스템은 이러한 방식으로 작동하지 않습니다. :)

XML 속성은 namespace:attributeName="value"으로 선언됩니다. 속성 이름 대신 문자열을 사용할 수 없습니다.

셀렉터는 프레스, 포커스, 윈도우 포커스, 활성화 등의 미리 정의 된 상태를 기반으로 드로어 블을 선택합니다. 런타임시 드로잉 세트에서 런타임에 선택할 드로어 블 세트에서 선택하도록되어 있습니다. 당신은 그것들을 사용하여 자원이 존재하는지 여부를 탐지하는데, 이는 안드로이드 자원 시스템 내에서 이해가되지 않습니다.

드로어 블 리소스 ID는 파일 시스템에있는 리소스에서 이미지 파일 또는 XML로 생성됩니다. XML 리소스가 "@drawable/background_dark"을 참조하고 존재하지 않는다면, aapt는 리소스를 완전히 구축하지 못합니다. 선언하기 전에 Java에서 변수를 읽으려고 한 것과 같습니다. 기존 파일이 선언 단계입니다.

+0

그래, XML에서이 작업을 수행 할 수 없다는 것입니다. 나는 아직 시도하지 않은 더 나은 해결책을 찾았다. Drawables 폴더의 xml에있는 values ​​폴더에있는 drawables.xml을 가리키면 이미 sourcery 에서처럼 screen_background_dark가 이미지로 설정됩니다. 난 그저 그 drawable 폴더로 이동할 수 있도록 xml에 액세스 decompiled 수 없습니다. 그런 다음 다른 배경을 가리키는 또 다른 마술로 XML을 전환하기 위해 다른 마술 (작업 중)을 사용할 계획입니다. 감사합니다. – user577732