W ApiDemos, jest przykładem widok nazywany Gallery1 który deklaruje niestandardowy styl w attrs.xml, jako takich:Android niestandardowe style widżetów: jak umieścić je w przestrzeni nazw?
<declare-styleable name="Gallery1">
<attr name="android:galleryItemBackground" />
</declare-styleable>
teraz chcę zrobić to samo dla moich widżetów, ale przy użyciu innego przestrzeń nazw. Jednak, gdy tylko zamieniam android: przestrzeń nazw na coś innego, pojawia się ten błąd:
ERROR: In Gallery1, unable to find attribute myns:galleryItemBackground
Nie można znaleźć atrybutu? Dlaczego szuka się atrybutu, który mam zadeklarować? Czy celem tego pliku nie jest możliwość nazwania własnych niestandardowych atrybutów?
Warto zauważyć, że działa, jeśli nie dostarczono niestandardowej przestrzeni nazw, a jedynie nazwę atrybutu.
Przeczytałem ten artykuł, ale jest przestarzały i zły (po prostu nie działa w ten sposób, przynajmniej już nie). – Matthias
Artykuł działa poprawnie na Androidzie 1.6 [testowany]. Ale mam błędne pytanie. Nie możesz określić przestrzeni nazw podczas deklarowania stylu, jest już w obszarze nazw aplikacji. Podczas gdy Ty lub ktoś inny potrzebuje korzystać z attrów w układach XML układu, muszą go użyć w przestrzeni nazw aplikacji. Ponieważ używamy androida określonego attrs z Androidem: attr – bhatt4982
Myślę, że problem może być związany ze mną, odwołując się do tych stylów z innego projektu. Oznacza to, że deklaruję plik attrs.xml w projekcie A, tworzę z niego JAR i próbuję uzyskać do niego dostęp w innym projekcie B. Zawsze otrzymuję "nie znaleziono identyfikatora zasobu dla atrybutu X". Działa, gdy nie używa się atrybutów w stylu, ale zwykłych atrybutów. – Matthias