2012-10-15 4 views

답변

3

개인 자원에 액세스해서는 안되며, 모든 장치에서 자원을 사용할 수 있는지 확신 할 수 없습니다. 그리고 그것이 가능하다하더라도, 그것이 동일 할 것이라는 것을 확신 할 수 없습니다.

개인 자원을 사용하려면 SDK 또는 Android 소스에서 프로젝트 자원으로 복사해야합니다.

+0

괜찮습니다. 그러나 나는 또한 소스에서 Switch_track 드로어 블을 찾을 수 없습니다. 당신 은요? –

+0

글쎄, 당신은'Switch_track'을 찾지 못할 것입니다.이 이름은'Switch' 위젯이'android : track' 속성을 가지고 있음을 나타냅니다. 그런 다음'styles.xml'에서 속성이'switch_track_holo_light'와 같은 드로어 블을 참조한다는 것을 알 수 있습니다 (테마에 따라 다름). – Tomik

5

참조 용 : 내부 리소스에 액세스하는 것은 좋지 않으며 공급 업체 나 OS 업데이트를 통해 변경되거나 제거 될 수 있다는 것을 알고 있어야합니다. 런타임에 액세스 할 수 있습니다.

int id = Resources.getSystem().getIdentifier("Switch_track", "styleable", "android"); 
+0

올바르지 않습니다. getIdentifier는 int를 반환하며 스타일 가능 객체는 int 배열입니다. 내가 할 수있는 유일한 방법은 반사를 사용하는 것입니다 믿습니다 http://stackoverflow.com/a/13841530/3508192 – charliebeckwith

+0

죄송합니다, 수정, styleable 때로는 int 배열입니다 – charliebeckwith

관련 문제