AppWidget Update on Orientation Change

by Ryan » Wed, 30 Dec 2009 11:29:24 GMT


Sponsored Links
 I am developing a photo frame widget, all works except on an
orientation change to landscape mode my appwidget doesn't display
correctly as I have it set to portrait dimensions and it is too large
for the display. I would like to run some code to resize the image so
that everything displays correctly and it uses all the space that I
allot.
What is the correct way to do this?
I can think of 2 methods however both seem inefficient. The first
would be to register a broadcast reciever to take orientation changes,
however I don't want to redo my appwidget everytime the phone is
turned on its side as the majority of the time the homescreen is not
showing when the orientation is changed (ie other apps are used, and I
don't need my code running in the background). I only need it to run
when the home screen is shown.
The second would be to setup a service to manage my appwidget but that
also seems inefficient to be always running in the background.

What is correct method to do this?

Thanks,

- Ryan

--



AppWidget Update on Orientation Change

by Guru » Wed, 30 Dec 2009 11:46:18 GMT


 there is a thread whch explains how to do this.I could'nt google it easily.

You need to specify a different id for each of the layout.that is for
example:

sample.xml
<LinearLayout xmlns:android=" http://schemas.android.com/apk/res/android" ;
    android:orientation="vertical" *android:id="landscape"    *
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >.....</LinearLayout>

sample.xml
<LinearLayout xmlns:android=" http://schemas.android.com/apk/res/android" ;
    android:orientation="vertical" *android:id="portrait"    *
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >.....</LinearLayout>





>


Sponsored Links


AppWidget Update on Orientation Change

by Ryan » Wed, 30 Dec 2009 11:54:49 GMT


 Thanks, but I don't want a different layout. I want to use the same
layout. I just want to change the picture size that i use in the
imageview in the layout. I need to scale/crop the image so that it
fills the correct size in the screen, going from portrait to landscape
should make the image change aspect ratio, however I can only do that
by running my code again, but I am just trying to find the best way to
call my code.

- Ryan




> >



AppWidget Update on Orientation Change

by Frank Weiss » Wed, 30 Dec 2009 12:54:00 GMT


 Clearly, you need two images, one or both scaled and cropped from the
original. I think your question may be when is the best time to do that.
That would depend on how you are storing the images, in res, on the file
system, DB, where?






> > >



AppWidget Update on Orientation Change

by Guru » Wed, 30 Dec 2009 14:05:12 GMT


 ou can just check the orientation in the widgets call back method.But this
would not be an immediate change.

On Wed, Dec 30, 2009 at 10:23 AM, Frank Weiss <fewe...@gmail.com> wrote:

>> > >



AppWidget Update on Orientation Change

by Ryan » Wed, 30 Dec 2009 15:40:05 GMT


 rank I can see this working. However as my code is now, I use an
imageView in the xml layout files to display my photo, however I don't
point the xml file to the photo. I process the user selected photo,
then save it to the SD card and then in code point the imageView to
the file I just made. I save the photo file on the SD card using the
widgetID in the name so that I know what photo belongs to what widget
if there are multiple instances of the widget running. This prevents
me from pointing the xml layout file to the photo as I don't know what
it will be named until I get the widgetID at runtime. Any ideas?

- Ryan

On Dec 29, 10:53pm, Frank Weiss <fewe...@gmail.com> wrote:
> > > >



AppWidget Update on Orientation Change

by Frank Weiss » Thu, 31 Dec 2009 01:09:33 GMT


  would suggest then, store both images on the SD card, using the WidgetID
as a key (use widget as folder name and store the two images in it, or just
use the widget id with the orientation appended).

As for the ImageView, point it to the correct file either in
Activity.onCreate() (which should get called when the orientation changes)
or when you receive an orientation change notification.

On Tue, Dec 29, 2009 at 11:39 PM, Ryan <rgra...@gmail.com> wrote:

> > > > >



AppWidget Update on Orientation Change

by Jeffrey Blattman » Thu, 31 Dec 2009 01:57:47 GMT


 I asked the same question some time back and the answer I received was that
there is no way to detect if your widget is visible, or currently shown on
the home screen.




I am developing a photo frame widget, all works except on an
orientation change to landscape mode my appwidget doesn't display
correctly as I have it set to portrait dimensions and it is too large
for the display. I would like to run some code to resize the image so
that everything displays correctly and it uses all the space that I
allot.
What is the correct way to do this?
I can think of 2 methods however both seem inefficient. The first
would be to register a broadcast reciever to take orientation changes,
however I don't want to redo my appwidget everytime the phone is
turned on its side as the majority of the time the homescreen is not
showing when the orientation is changed (ie other apps are used, and I
don't need my code running in the background). I only need it to run
when the home screen is shown.
The second would be to setup a service to manage my appwidget but that
also seems inefficient to be always running in the background.

What is correct method to do this?

Thanks,

- Ryan

--



AppWidget Update on Orientation Change

by Ryan » Thu, 31 Dec 2009 02:16:20 GMT


 Jeff, what did you do as a workaround? I think am going to always
process 2 photos one for portrait size and one for landscape. But I
feel like that is double the work needed. I should only have to
process this when needed (ie on orientation change on the homescreen),
this method will only slow down my app.

- Ryan


On Dec 30, 11:57am, Jeffrey Blattman <jeffrey.blatt...@gmail.com>



>



AppWidget Update on Orientation Change

by jkman » Sun, 31 Jan 2010 04:56:11 GMT


 your post helped me find what I was looking for. In case anyone else
is googling the topic, here is what I found:




Other Threads

1. Shutdown from Android Kernel

I need an API which will shutdown/hibernate the device?
This API needs to be called from the kernel driver.
There is an API in pm.h
device_power_down(PMSG_HIBERNATE);
is this correct?

Thanks,
Sachin, Pune.

-- 

2. midi engine for music apps

Hi,

I tried music application using SDK in Andriod,when i run the application i
am getting time delay between two sounds.I have tried almost all the midi
engines and i searched for the solution that using SDK there would be the
latency .If we use NDK it will reduce the latency.Can you please suggest me
what are all the midi engines used in NDK.I am Working on Linux platform.



*Thanks&Regards*

Lalitha

-- 

3. How to use 3G Connection in Android Application instead of Wi-fi?

4. Estimated Time App Verification

5. GK : bunddle the multiple apks to one apk

6. GK: Urgent -- Combine all the multiple apks in one APK file

7. android develope