I am revisiting an old problem. A while back I was having problems with shortcut images not scaling correctly on all devices. They would show only a partial image as the icon... squashed, or too large and off-centered, etc.
I finally resolved this with help from Erel by retrieving drawables that I included with the app. See this thread.
Anyway, I am still having a problem, but it is when I allow the user to choose their own image from their SD card. It results in the same problem I initially had. They do not scale correctly. It seems that unless the image is a "drawable", it simply does not scale correctly when applied as a shortcut image.
Has anyone ever had this problem and solved it? Is there a way I can convert an image loaded from the SD card into a "drawable" through code? No matter what size the icon (png) is on my SD card (72x72, 96x96, 144x144, etc), it never renders correctly as a shortcut icon. It only works properly if loaded as a drawable resource from my app.
I tried using the method shown in the last post on Stack Overflow (basically getting the size that Android is using for the app's icon and scaling the loaded bitmap) but it still doesn't work properly.
Have you tried to use the suggestion in the page that you've linked (stackoverflow)?
B4X:
Sub CreateScaledBitmap(Original As Bitmap, Width As Int, Height As Int, Filter As Boolean) As Bitmap
Dim r As Reflector
Dim b As Bitmap
b = r.RunStaticMethod("android.graphics.Bitmap", "createScaledBitmap", _
Array As Object(Original, Width, Height, Filter), _
Array As String("android.graphics.Bitmap", "java.lang.int", "java.lang.int", "java.lang.boolean"))
Return b
End Sub
Yes, I did. I was so certain I had found the solution that I leaned back and smiled as I waited for my app to compile. Unfortunately my smile faded after I tried it with the same result as before.
I'm not sure what I am doing wrong or why it isn't working. Have you (or anyone else) had success with this? I'm running out of ideas.
Unfortunately it didn't help. Strange (and frustrating) problem! Such a simple idea to use an icon off of the SD card for a shortcut and the only simple thing is that it simply doesn't work. I don't know why none of the solutions seem to fix the problem.