2012-06-08 15 views
17

Witam Mam drawable myshape.xml, zawiera on <shape> i nie mogę ustawić androida: id na kształty.Zestaw XML kształtu XML jako programowalny programowalnie

W moim kodu chcę ustawić tło myślą do tego pliku za pomocą

catAll.setBackgroundDrawable(getResources().getDrawable(R.id......???));

gdzie myshape.xml nie pojawi się w moim pliku R, ponieważ nie ma identyfikatora. i nie mogę ustawić id, by sprzeciwić się.

W moim XML ustawiam kształt, po prostu wpisując nazwę zasobu losowego. Ale muszę to zrobić programowo.

Odpowiedz

29

Nie trzeba samemu wysuwać szuflady. Użyj tego zamiast:

catAll.setBackgroundResource(R.drawable.myshape); 

Na przyszłość, jeśli zrobić chęć uzyskania rozciągliwej pamiętać, że kanału alfa na żywo w nazw R.drawable. Więc twój kod będzie stała:

getResources().getDrawable(R.drawable.myshape); 

ta jest zbliżona do tego, co robisz w XML:

@drawable/myshape 

zamiast

@id/myshape 
+0

wskazując na przestrzeni nazw "R.drawable" była kluczem , dzięki K-ballo! –

+0

Identyfikator getDrawable (id) został teraz zdeprawowany. –

Powiązane problemy