views:

220

answers:

2

What I'm trying to do is have a clock widget of different sizes (i.e. 2x2, 3x3, 4x4 etc) in one apk and a configuration activity to be able to select which size to add.

From what i've learned from documentation:

  1. Widget size is specified in <appwidget-provider> tag in respective xml file
  2. Also in that file I set up the configuration activity for that provider

So it seems that size is a property of AppWidgetProvider and I'll need to somehow create another provider from the code in configuration Activity of the first one... Or am I getting this wrong and there's another way?

Is this possible at all? :) I've been told that some widgets can do this :)

Thanks in advance!

P.S. I have read this and this. First one explains how to put multiple wigets in one apk, but it's not clear how to select between them in runtime. Second one is about changing layouts, but not size...

A: 

I hope I have read your question right and think I have your answer. I could rewrite this information or just point you to it (as I would more than likely not be able to do it justice).

http://developer.android.com/guide/topics/appwidgets/index.html#Manifest

Look under "Creating an App Widget Configuration Activity". The example is good as well.

By doing it this way you may not be able to set a certain layout sizes without a lot of editing but will allow for customization by the user (which is what you want correct?)

Bactos
Yes, I'm aware of the configuration activity.But I'm looking for a way to change a widget size from that activity which looks like not possible, after all...So I guess I should now cancel this question :)Thanks!
dpimka
+1  A: 

Do you really have to do this at runtime? It is possible to define several widgets in one .apk.

Maybe you can have a look on transdroid source? They are including two sizes of a widget in the same package. http://code.google.com/p/transdroid/source/browse/trunk/AndroidManifest.xml

Eloff
yeah, this seemed like the only way to go, as jamesh noted in comment to a head post :)To sum up: no solution to original problem, but it just seems not possible :)
dpimka