I'm currently developing an application that was originally meant to be run solely on Nexus 7 and Android 4.2. However, there was a change of plans and now it is meant to run on the Galaxy Tab 2, Android 4.1.1 instead.
I am using a custom font that rendered great on the Nexus 7. However, when downgrading the version of Android and switching to the Galaxy Tab 2, the font kerning got completely messed up and looks terrible. Spacing is way off from what it should be.
Any tips to point me in the right direction for fixing this issue? I don't have the slightest idea how to fix this, except for switching to a different font, which is less than ideal.
Sounds like you may have run across the kerning problem described here: Android Custom View code stopped working correctly in Jelly Bean 4.2
It is possible to work around it.
Related
May be my question seems to be dumb as i'm new baby to this...
I'm trying to run an android application in 7 inch Samsung Galaxy tab(7 inch)...everything work fine but when i move on to Samsung Galaxy Tab S2(10 inch) i faced an alignment issue in my application...Getting crashed sometimes too.
Can anyone suggest what should i do to resolve it...Have to create separate layout files for 10 inch tablet????
Please also tell me how can i test my application in an Samsung Galaxy Tab S2 10 inch emulator.
I can really recommend using Genymotion as an Emulator. It' very fast, and only has some minor limitations as free version, like you might not be able to use Google APIs.
It also provides predefined settings for different Devices.
If you don't want to use a third Party Emu, you could of course use the Android Studio Emulator too.
For the crashes: get used to use the Debugger and to using Unit Tests.
I would also recommend switching from Eclipse to Android Studio, since Eclipse is no longer the supported IDE by Google. Migrating your project shouldn't be a hassle.
Without your Layout code people won't be able to help you on that part.
My app runs with many devices but 2 users have send me simular images as below.
As far as I know the behaviour is only seen on Android 4.2.2 (Samsung S4).
On the full HD screen there seem to be 3 compressed tiles of 160x600 pixels.
I have tried an AVD with full HD screen but that fails to start.
On 4.03 devices I don't see this. I don't use tiles.
Does anybody have a hint what or where this goes wrong ?
This looks like a possible bug in the Android platform on Samsung's S4 devices with that particular Android version. My experience tells me that it's a very real possibility. It could also be that you do something wrong in your app that only causes actual problems on that version (and maybe even only on that device), but there is no indication of that from what you tell. Android 4.2.2 should be backwards compatible with 4.0.3, so in general it should work on the later version too, of course.
I would advice you (or anyone in the same situation) to try it out on other devices with the same Android version if possible. Also, double check that you're not violating anything in the Android API documentation.
Please add more info about what you're doing and how if you need more detailed answers. I guess you've probably found a solution or workaround by now, but still adding my answer here.
I have wrote an application using android 2.2 in eclipse.
My app is working fine on the samsung galaxy mini android 2.2. However, it is not working on samsung galaxy s3 android 4.1.
My app is only taking up half of the screen on the samsung galaxy s3.
Why is my app not working on higher resolution devices?
How can i make the app compatible with other devices running
different versions of android?
Sounds like it's most likely you just have a LinearLayout at the top of your layout XML and it just takes up less space on the S3.
I would advise taking a look at the two links below; if you want a specific starting point, you could adjust your layout to match_parent and use the l/m/h/xhdpi folders to place different size graphics in. Also worth checking whether you are using dp or dip (density independent pixels)
http://developer.android.com/training/multiscreen/index.html
http://android-developers.blogspot.co.uk/2012/11/designing-for-tablets-were-here-to-help.html
The best way to ensure that your app will work on other devices is to get access to other devices and test your application on those devices before you release.
Another way is to make sure that you are targeting the correct SDK you need to target and use the AndroidSupportLibrary when needing to have backwards compatibility.
For us to help with your specific problem we would need more details as to what exactly is going on, but make sure the packages and libraries you are using are compatible with the android versions you are trying to target.
And make good use of the AndroidSupportLibrary.
Did you check the resolution compatibility? This seems more like an Android Manifest issue then an Android version issue.
I have an application which uses Android ViewPager (7 views, pretty complex with images and animations). This application runs fantastically on my Asus Eee Pad. It is just gorgeous.
I also have a Galaxy Tab 2 10.1 which almost can not run the app... despite it's brand new and theoretically more powerfull than my EEE Pad. I would like to mention both terminals run Android 4.0.3 and their screen size is identical (1280x800). Application runs in landscape mode.
The application does not use sql, or internet access, just animations on different views and the swipe effect of the ViewPager.
I checked I think everything, from heap, from lint, from basically all the available tools for profiling but nothing seems to improve my UI performance on the Galaxy Tab 2... I wonder if there isn't some difference in the hardware finally, where the ASUS will use GPU to render the UI and the Galaxy Tab 2 its CPU...
I was wondering finally, if any of you, noticed some similar issues on Galaxy Tab or other tablets when comparing your app behaviors on multiple targets...
Cheers!
Paul
--- added September 6th ---
Well, it seems that, despite the Galaxy tablet should use hardware acceleration, it does not. When I am forcing each xml layout with android:layerType="hardware" and
v.setLayerType(View.LAYER_TYPE_HARDWARE, null);
ObjectAnimator oaAlpha = ObjectAnimator.ofFloat(v, "alpha",0f, 1f);
it works finally better... even if it is not as smooth as on the Asus one
Finally, I discovered - and this is really odd - that the performance issue was created by the fact that the font size was too high !?!
It was a sad experience... but for some stupid reason the Galaxy Tab 2.0 was having major issues rendering texts written with big sized letters. And it is related to the Galaxy Tabs (so I imagine hardware) because I tried with So just redesign your app with smaller fonts and don't forget to complain to Samsung.
I've received several reports from users that large parts of UI in my application just went invisible on their Galaxy Nexus with Android 4.1 and they are still clickable. I'm not able to reproduce it on any Android 4.1 emulator.
So the question is, what did Google mess up this time? Is it a known bug?
I ran into this myself. My problem was in using layerType="software" in some layouts. Getting rid of that fixed it.