That's exactly what my code does. :) 2009/10/1 Romain Guy <romain...@google.com>
> > > * I can't disable the scaling with the Option flag (not supported in 1.5) > > Use reflection to set the flag in Options. > > > ergo. > > 1.5 and 1.6 are incompatible with each other, at least as far as my > > application is concerned (and I'm sure some others). > > Tom. > > 2009/10/1 Dianne Hackborn <hack...@android.com> > >> > >> This isn't a compatibility issue -- 1.5 doesn't know anything about > >> "nodpi" so if you try to use it there you will not get the right > result. (I > >> am pretty sure what happens is it sees this as a really high dpi and > thus > >> scales it down.) It's just a case of not being able to use newer APIs > on an > >> older platform. > >> > >> On Thu, Sep 17, 2009 at 4:29 PM, Tom Gibara <m...@tomgibara.com> wrote: > >>> > >>> I just published a simple class for dealing with this minor > compatibility > >>> issue; it seems to be working well for my application and it might be > useful > >>> for anyone else in the same situation. > >>> http://blog.tomgibara.com/post/190539066/android-unscaled-bitmaps > >>> Tom. > >>> > >>> 2009/9/17 Tom Gibara <m...@tomgibara.com> > >>>> > >>>> Hmm, interesting... > >>>> Just had a chance to try this out on 1.5. > >>>> If I move my bitmaps into a drawable-nodpi directory then the > >>>> application compiles and executes, but I don't see the images. > Inspection > >>>> with the debugger (plus logging just to make sure) indicates that the > >>>> bitmaps, when loaded from "nodpi" always have a width and height of > 1px. > >>>> Move them back to the basic drawable directory and it all works > >>>> perfectly again. > >>>> Shame, looks like it was *almost* implemented :) > >>>> Tom. > >>>> > >>>> 2009/9/17 Romain Guy <romain...@google.com> > >>>>> > >>>>> Give it a try, 1.5 already had all the scaling code based on > display's > >>>>> density. I don't know about nodpi specifically but it's worth the > try. > >>>>> > >>>>> On Thu, Sep 17, 2009 at 11:46 AM, Tom Gibara <m...@tomgibara.com> > wrote: > >>>>> > Duh, I misread the docs for the inScaled flag. Thanks for pointing > >>>>> > that out. > >>>>> > The drawable-nodpi/ sounds perfect, but I'm guessing I can't use > that > >>>>> > and > >>>>> > remain compatible with API 3, since I don't see "nodpi" listed the > >>>>> > documentation for resources in 1.5. > >>>>> > Tom. > >>>>> > > >>>>> > 2009/9/17 Romain Guy <romain...@google.com> > >>>>> >> > >>>>> >> > private Bitmap loadBitmap(int resId) { BitmapFactory.Options > >>>>> >> > options = > >>>>> >> > new > >>>>> >> > BitmapFactory.Options(); options.inTargetDensity = 1; > >>>>> >> > options.inDensity > >>>>> >> > = 1; > >>>>> >> > return BitmapFactory.decodeResource(context.getResources(), > resId, > >>>>> >> > options); > >>>>> >> > } > >>>>> >> > >>>>> >> That's the wrong way to do it. You're assigning your bitmap a > >>>>> >> density > >>>>> >> of 1dpi, which can have bad consequences. There's a much simpler > way > >>>>> >> to do it: just set options.inScaled = false. > >>>>> >> > >>>>> >> But the right way to do it really is to place the assets in the > >>>>> >> right > >>>>> >> directory: > >>>>> >> drawable-ldpi/ for 120dpi displays > >>>>> >> drawable-mdpi/ for 160dpi displays > >>>>> >> drawable-hdpi/ for 240dpi displays > >>>>> >> > >>>>> >> and in your case: > >>>>> >> drawable-nodpi/ for assets that should not be scaled. > >>>>> >> > >>>>> >> > I have two related queries: > >>>>> >> > Is there a simpler way of doing this? > >>>>> >> > Is there a way to support android:minSdkVersion="3" without > >>>>> >> > jumping > >>>>> >> > through > >>>>> >> > the hoop of creating two implementations (for API 3 and API 4) > of > >>>>> >> > an > >>>>> >> > "image > >>>>> >> > loading" interface and selecting one at runtime? > >>>>> >> > Tom. > >>>>> >> > > > >>>>> >> > > >>>>> >> > >>>>> >> > >>>>> >> > >>>>> >> -- > >>>>> >> Romain Guy > >>>>> >> Android framework engineer > >>>>> >> romain...@android.com > >>>>> >> > >>>>> >> Note: please don't send private questions to me, as I don't have > >>>>> >> time > >>>>> >> to provide private support. All such questions should be posted > on > >>>>> >> public forums, where I and others can see and answer them > >>>>> >> > >>>>> >> > >>>>> > > >>>>> > > >>>>> > > > >>>>> > > >>>>> > >>>>> > >>>>> > >>>>> -- > >>>>> Romain Guy > >>>>> Android framework engineer > >>>>> romain...@android.com > >>>>> > >>>>> Note: please don't send private questions to me, as I don't have time > >>>>> to provide private support. All such questions should be posted on > >>>>> public forums, where I and others can see and answer them > >>>>> > >>>>> > >>>> > >>> > >>> > >>> > >> > >> > >> > >> -- > >> 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. > >> > >> > >> > > > > > > > > -- > > Tom Gibara > > email: m...@tomgibara.com > > web: http://www.tomgibara.com > > blog: http://blog.tomgibara.com > > twitter: tomgibara > > > > > > > > > > > -- > Romain Guy > Android framework engineer > romain...@android.com > > Note: please don't send private questions to me, as I don't have time > to provide private support. All such questions should be posted on > public forums, where I and others can see and answer them > > > > -- Tom Gibara email: m...@tomgibara.com web: http://www.tomgibara.com blog: http://blog.tomgibara.com twitter: tomgibara --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---