Hi Dianne, thanks for the info.

I've seen methods like Resources.Theme.applyStyle which capable of 
overriding existing attributes with a supplied style resource-id, which 
would have been useful if I could tell it from what resource to get the 
resource-id from.
Isn't there a similar method that I can use to only override certain 
attributes in my existing applied theme?

If not, could you maybe suggest a different way to approach this problem?
There are lots of themed apps on Android, so I'm sure there's a way to do 
this.

Thanks again,
Mor.

On Thursday, August 2, 2012 12:51:30 AM UTC+3, Dianne Hackborn wrote:
>
> You can't really do this by simply pointing to a theme.  The resources 
> object is used across the view hierarchy to load resources; to set the 
> theme from another apk you will need to have the resources coming from 
> there, but then you won't be able to access any of your own resources that 
> you need (like strings etc).
>
> On Wed, Aug 1, 2012 at 2:38 PM, Mor G. 
>
>> Hi Richard, thanks for the reply.
>>
>> I have an app with light and dark themes defined in themes.xml.
>> I have a setting to allow the user the select light/dark theme in the app.
>> This works great.
>>
>> Now the themes are pretty heavy in graphics, since they define not only 
>> styling but different drawables as well, so I want to offer more themes 
>> like blue, green, red, etc. as external apks in Google play, like I've seen 
>> many other apps have done, so a user could install a "MyApp blue theme" 
>> apk, and then he'll be able to choose this theme from the main app settings.
>>
>> I've tried using: Resources res = pm.getResourcesForApplication(appInfo);
>> Which gets the resources object of the external apk, but I can't seem to 
>> get and apply the theme from it using activity.setTheme(externalTheme).
>>
>> I've tried using: Context themedContext = 
>> activity.getApplicationContext().createPackageContext("com.myapp.blue", 
>> Context.CONTEXT_IGNORE_SECURITY);
>> Which gets a themed context, but again, couldn't set this theme to my 
>> running activity.
>>
>> I've read a lot about this, but couldn't find any complete solution.
>>
>> Thanks,
>> Mor.
>>
>>
>> On Thursday, August 2, 2012 12:17:40 AM UTC+3, RichardC wrote:
>>>
>>> If it's your own application then read about library projects.
>>> Otherwise unless the app you are reading resources from is available 
>>> under a suitable open source licence then in my opinion what you are trying 
>>> to do could be infringing copyright.
>>> If the app is open source then just download it and use the resources.
>>>
>>> On Thursday, April 5, 2012 6:51:58 PM UTC+1, Terry wrote:
>>>>
>>>> I'm able to use getResourcesForApplication and getIdentifier to get the 
>>>> individual resources from another application. However, when I try to call 
>>>> setTheme using a remote theme.xml from another app, the references inside 
>>>> theme.xml point to the app that I'm running, not pointing to the remote 
>>>> application where the theme.xml is. As a result, I get a 
>>>> ResourceNotFoundException inside theme.xml where I try to use the styles I 
>>>> defined from the remote app. In other words, I can apply theme.xml but not 
>>>> reference to the styles inside it.
>>>>
>>>> Moderator, please don't block this post. I googled for days and have 
>>>> not found a resolution to it.
>>>>
>>>  -- 
>>
>  

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to