Android: Difference in appearance - android

hope this will be a quick easy question, I've just tried my app on my old phone and it looks better (personal oppinion) on my older HTC Desire then my newer Samsung SII. The main part is the rounding of corners on most things. Do you know where that is coming from? Manufacture or Droid Version? and can I force the rounded corners without resorting to massive amounts of effort on the samsung, and I presume most handsets?
HTC is v2.2.2
samsung is v2.3.4

What you are seeing here are manufacturer specific themes. HTC Devices run the so called Sense UI. While on Samsung devices you find TouchWiz.
If you want to have the Sense UI look & feel on Samsung Devices you indeed need to resort to (massive) amounts of efforts by creating your own theme or custom widget styles.
Cheers
Renard

As you probably know Samsung has implemented his own Android interface, such as HTC. The image quality is due to the difference between HDPI, MDPI and LDPI scrrens.
The best way to get rounded corners is to create a new style for you widgets.
Google something like "android:background style spinner".
Regards.

Related

Supporting different devices with different layout

I have doubt in making the layout for other deices I mean to support different devices of different resolutions. I have made an application and it is working well on hdpi devices and I tested on Samsung Galaxy grand which has 320dp-460dp and 480px-800px.
May application is looking awesome on this device. but when I run on other devices its gone bad. SO I am suggested to make the folder like layout-large, layout-xlarge and layout-xxlarge but there is a lot of difference in this link and this link
So this makes me confuse , with which name I have to make the layout folders to support all devices ?? please tell me
and also tell me I have some hard coded values in my layout such as left margin 13 dp to make my design look perfect on hdpi device should I make it more in other xhdpi devices ???
and also which devices comes in layout-large folder and so on please answer my both confusion , thanks in advance
I use Google's code as an example of how to do stuff. The docs on "Supporting multiple screen" is a bit old and outdated. The best way to keep up with the current conventions is to follow other's codes.
Here is the source code for the Calendar app. Yes, there a lot of different folders for layouts/drawable/values but you have to consider the fact that there are a lot of devices with varying sizes and pixel densities.
Also, why do you want to make many folders for layout? You make a few layouts and let the values and drawables do the rest of the work. Hope it's helpful.
IF you are interested in knowing which device falls under which folder, then check this figure from the Official Android Guide:
Of course you need to know the actual size or density of the physical device

testing android app on different devices

I am developing one android application & planning to use it on android phones and tablets. Currently I am testing it with help of avd (Galaxy nexus). To use it on different devices with different sizes and densities, I want to test it on different avds.
My problem is instead of setting number of devices, can anybody suggest me few common avds whose configurations will cover most of standard devices (small, normal, large, xlarge).
In my eclipse, I am getting some nexus avds(10, s, one, 4, 7 etc) and some other devices( like 10.1"wxga, 5.4"fwvga etc etc). I am using adt bundle provided by google.
Thank you.
Why dont you use Samsung Remote testing lab.It provide to test your apps on different screen resolutions and also with the devices that do support temperature sensor etc.Please follow this link.I dont have any temperature sensor mobile but i need to test in one of my project.So i use Samsung galaxy Tab 3 for this purpose and also for some other things.I have also shown you the output.If you still need any help comment here.I think this might helps you :)
First of all you have to figure out which sort of devices you are going to target.
This link may be helpful to figuring out what type of filter you want to use in order to decide the targeted devices.
For most of the UI part you can rely on the AVDs provided by the Google Bundle choose the desired test AVDs (ldpi, mdpi, hdpi, xhdpi, xxhdpi).
But you should be ready for the surprises because some devices behave differently than the others. I mean the same build may be working fine for most of the devices but for a particular device the UI behavior may be different.
All the best.

Testing for density independence

After finishing the programming part of my app I want to test it with the Android Emulator.
I tried to make my app density independent an now I want to test it with different emulator devices. Which resolutions and screen sizes should I test? Do you have a list of virtual devices, which you use to test your application before releasing?
Which api-Levels should I test? (My application uses bluetooth).
Thanks for your help.
Basically the correct answer here is to 'test every possibility'.
But this of course would be a huge job.
I usually take the Nexus devices as base lines, which will guide you through most of the possible and populair sizes.
Android versions you should check every one of them, starting with the version you want to support as lowest. Every version can react differently to not only your layout and styles, but also handle your java code differently .
You can find the Nexus devices and their sizes at http://developer.android.com/distribute/promote/device-art.html
Be sure to press 'Older devices'
In addition to this, you could try to get your hands on some populair devices from other manufacturers like Samsung and HTC, since they also have a hand in changing the way your layout and styles will behave.
There is no magic bulletproof answer.
You can use this Platform Versions to glean some information about what are the most common API lvls, and device densities being used.
But ultimately the answer to your question depends largely upon your target audience and the devices that they carry. The best case scenario is to test on as many different configurations as possible =) starting of course with the most widely used.
If you are designing an application, which is density specific, then you should test on all the possible densities. To test your application on various density device, you should have base device for each density for e.g Samsung Nexus - xhdpi, HTC One(hdpi) and similarly one base device for mdpi, ldpi. If you are also supporting Tablets have base device Tablets supporting different densities.
Additionally, you can avoid scaling with respect to device density by setting the following parameter in the manifest file supports-screens android:anyDensity=false

What's the best way to support Android 2.x tablets in my app?

I'm developing an Android app that absolutely needs to support Android 2.1+ devices, including tablets and phones.
The tricky part is I want to be able to provide roughly the same user experience on Android 2.x tablets as on bone fide Honeycomb tablets. I'm planning on using the Compatibility package so that Fragment support is always available, but...
The problem I've got at the moment is I've bought a Hannstab for testing, and discovered that it reports to apps that it has a "large" screen, despite actually being 10.1 inches. This would technically make it "xlarge", but of course that category was not included in Android 2.2 (which it runs), hence it's "large". I originally intended to just use resource qualifiers and treat all xlarge devices as tablets, and everything else as phones but now I realise I can't do that.
Would it be so bad to treat all xlarge and large screened devices as tablets? This would include Dell Streaks and other 5 to 7 inch screen devices as I understand it.
Is there a better alternative? I haven't really got my head around fragments properly yet so a fragments-based solution might be obvious to someone who has.
I've noticed that typically, apps I install on my Hannspad use their normal phone UI, with the exception of Evernote which uses a specific tablet interface - I wish I knew how they'd done that.
The new "Smallest Width" resource qualifier introduced in Android 3.2 would solve this problem by doing away with the generalised screen size buckets altogether. Presumably I could copy this approach by writing code to work out the screen width in dp and then adding fragments to the activity as appropriate. Is that wise? I'd rather avoid that kind of work if it's going to be a pain.
Cheers
Would it be so bad to treat all xlarge and large screened devices as tablets?
If your question really is "is it OK to use the same layouts, etc. for -large and -xlarge devices", that certainly can work. It's certainly where I would start.
Bear in mind that device manufacturers really are the ones who determine what is -large or not. It would not surprise me to find some manufacturers creating 5" devices to categorize them as -normal, because they feel that -normal apps tend to work better on their devices than do -large apps.
I've noticed that typically, apps I install on my Hannspad use their normal phone UI, with the exception of Evernote which uses a specific tablet interface - I wish I knew how they'd done that.
Probably using -large/-xlarge resources. I don't know if they are using fragments or not.
In terms of screen sizes, fragments really are for cases where the -large/-xlarge UIs are basically a bunch of -small/-normal sized UIs snapped together like LEGO(R) blocks. In Evernote's case, their -large/-xlarge UI does not fit that pattern, so they may or may not have used fragments.
Fragments offer some other advantages for memory management and configuration changes (e.g., screen rotation), so you might consider using fragments even if you are not sharing fragments between major groups of screen sizes.
Is that wise?
If possible, I would hold off on making that decision until Ice Cream Sandwich ships and we start seeing how some of this stuff will play out on smaller-screen devices.

layout elements position problem

i've created an application for galaxy S..so i'm using 3.7 inch(resolution 320x480) layout for my xml files. The app is working perfectly on the phone. When using the same app in HTC wildfire whose resolution is 240x320 the graphics are out of position. I know the reason is obvious that I'm developing app in 3.7WVGA so graphics will not be compatible for QVGA.
Is the only solution is to create different versions of app on the basis of devices?? or is there a universal solution which i can implement so that the app will run without graphical repositioning on all the devices having different screen sizes and different resolution support??
please help me...coz i dnt really know the answer....and thank you in advance
If you can get away with it, use linear layouts and position things by weight. That way the ratios will stay the same and the same general appearance will hold.

Categories

Resources