Note: you really really should not be creating these arrays yourself, because the attributes need to be in a specific order for them to work. Use <declare-styleable> in one of your resource files (usually in attrs.xml where you declare your attributes) to define the sets of resources you want to retrieve.
On Sun, Nov 22, 2009 at 1:19 PM, Stefan <skyntc...@gmail.com> wrote: > That was exactly what I needed. Thank you very much for your help. > > > In case somebody has a similar need this is the code that worked for > me: > > R.attr.PrimaryColor, R.attr.PrimaryReadColor are the styled attributes > (of type Color State List in my case) that have a specific "value" in > each theme > > TypedArray atts = context.obtainStyledAttributes(new int[] > { R.attr.PrimaryColor, R.attr.PrimaryReadColor}); > .... > _primaryColor = atts.getColorStateList(0); > _primaryReadColor = atts.getColorStateList(1); > > Stefan > > On Nov 22, 2:48 pm, Dianne Hackborn <hack...@android.com> wrote: > > Resources does not let you access themes -- it doesn't know about a > Theme, > > since there is one Resources object for you application, but an arbitrary > > number of themes. > > > > Typically to load themed resources, you would do what standard views and > > widgets do -- declare a styleable array of all of the attributes you want > to > > retrieve, and use Context.obtainStyledAttributes or related to retrieve > > theme. The LabelView API demo shows an example of this: > > > > http://developer.android.com/guide/samples/ApiDemos/src/com/example/a... > > > > > > > > On Sun, Nov 22, 2009 at 4:22 AM, Stefan <skyntc...@gmail.com> wrote: > > > In my case I need to be able apply a color conditionally (for example > > > based if an item is read or unread) so I need to be able to read the > > > "read" and "unread" colors from the current theme and apply them > > > appropriately. > > > > > I gave the color special attribute name in my \attr xml file and > > > assigned it different values in 2 different themes. > > > if I do getResources().getColorStateList( <my attribute resource ID>) > > > it fails because it can't find the resource. It seems like something > > > needs to first resolve the attribute Id to the Id of the resource in > > > the current theme, but I am not sure what does that. > > > > > Stefan > > > > > -- > > > You received this message because you are subscribed to the Google > > > Groups "Android Developers" group. > > > To post to this group, send email to > android-developers@googlegroups.com > > > To unsubscribe from this group, send email to > > > android-developers+unsubscr...@googlegroups.com<android-developers%2bunsubscr...@googlegroups.com> > <android-developers%2bunsubscr...@googlegroups.com<android-developers%252bunsubscr...@googlegroups.com> > > > > > For more options, visit this group at > > >http://groups.google.com/group/android-developers?hl=en > > > > -- > > Dianne Hackborn > > Android framework engineer > > hack...@android.com > > > > Note: please don't send private questions to me, as I don't have time to > > provide private support, and so won't reply to such e-mails. All such > > questions should be posted on public forums, where I and others can see > and > > answer them. > > -- > You received this message because you are subscribed to the Google > Groups "Android Developers" group. > To post to this group, send email to android-developers@googlegroups.com > To unsubscribe from this group, send email to > android-developers+unsubscr...@googlegroups.com<android-developers%2bunsubscr...@googlegroups.com> > For more options, visit this group at > http://groups.google.com/group/android-developers?hl=en > -- Dianne Hackborn Android framework engineer hack...@android.com Note: please don't send private questions to me, as I don't have time to provide private support, and so won't reply to such e-mails. All such questions should be posted on public forums, where I and others can see and answer them. -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en