I tried setting various combinations of android:minWidth and
android:minHeight on the appwidget-provider element and on my ImageView, but
nothing seemed to have an effect...
...okay I've just worked out why - obvious in retrospect - the minimum
dimensions specified by the appwidget provider are only applied when the
widget is first added to the host.

I'd tested it without removing the widget and re-adding it.

Tom.


2009/4/15 Jeffrey Sharkey <jeffrey.shar...@gmail.com>

>
> Awesome, great to hear people are jumping into it.  :)
>
> For performance, the one thing to keep in mind is that each widget
> update will spin up your process, which is somewhat expensive.  (So
> you probably want to avoid updating more often than once per hour to
> help save battery.)  Also, while pushing bitmaps across RemoteViews is
> possible, it /is/ expensive.  We experimented with pushing modified
> full-size album art to a larger desktop widget and started triggering
> ANRs in other foreground apps because it was so expensive.
>
> One lightweight method to write a clock would be to use a combination
> of animated/leveled drawables.  Using an example of a single digit
> from a base-10 clock, you might have something like this:
>
> <level-list xmlns:android="http://schemas.android.com/apk/res/
> android">
>    <item android:maxLevel="0">
>        <animation-list xmlns:android="http://schemas.android.com/apk/
> res/android" android:oneshot="false">
>            <item android:drawable="@drawable/digit0"
> android:duration="60000" />
>            <item android:drawable="@drawable/digit1"
> android:duration="60000" />
> ...
>            <item android:drawable="@drawable/digit9"
> android:duration="60000" />
>        </animation-list>
>    </item>
> ...
>    <item android:maxLevel="5">
>        <animation-list xmlns:android="http://schemas.android.com/apk/
> res/android" android:oneshot="true">
>            <item android:drawable="@drawable/digit5"
> android:duration="60000" />
> ...
>            <item android:drawable="@drawable/digit9"
> android:duration="60000" />
>        </animation-list>
>    </item>
> </level-list>
>
> Where the levels would be used when performing a clock update mid-
> cycle.  Then, performing an exact update at an hour edge to start it
> down the full 0-9 repeating cycle.  Each of the digits above lasts for
> a full minute before changing, so you would bump that to 600000ms for
> the minute 10's digit.  And updating the hour digits manually each
> hour might work nicely.
>
> However, I'm not sure if it the animated drawable will correctly
> "catch up" if you leave the screen for a period of time, as it might
> continue the animation where you left off.  Worth peeking into.  :)
>
> > Also is there a way for thewidgetprovider to know (receive a hint
> > for) the size at which thewidgetwill be rendered? This is useful in
> > this instance since one doesn't want to make the bitmap any larger
> > than necessary.
>
> There isn't right now, but if you use drawables defined using <shape>
> instead of bitmaps, it should scale nicely.
>
> > A final question: is there a way for a provider to request that a
> > wedget be 'oversized' (like the search bar or media control)?
>
> When you say oversized, you mean filling multiple cells?  Setting the
> minimum size should let you take up multiple cells.  Here's a quick
> equation that should work:
>
> Minimum size in dip = (Number of cells * 74dip) - 2dip
>
> j
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to