I develop an android application and I use ActionBarSherlock library. When I run my application on emulator (Android 4.1) then my application looks great.
I tried to run my application on a physical device (HTC Desire, Android 2.2.2) but it does not look the same. It is possible to unification of appearance between different android versions?
Here is a screenshot: http://files.1qa.pl/screen.jpg
I would like to unify appearance of view content (widgets like TextEdit, Spinner etc). The top bar looks fine.
Related
Android added a way to deal with devices that have a notch/cutout at the top of the screen. (See Android and Xamarin.Android.) But as far as I can tell, Android automatically takes care of lowering the views so that they aren't obscured by the notch, so why do we need this new addition?
I tested my Android app on the emulator of a device with a notch and the app automatically goes below the notch without the need to specify layoutInDisplayCutoutMode as LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER.
So my question is, when would I need to use LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER?
In Xamarin that would be:
Window.Attributes.LayoutInDisplayCutoutMode = Android.Views.LayoutInDisplayCutoutMode.Never;
I'm running this on the Android Emulator through Visual Studio on a Windows computer. The emulator is emulating a Pixel 3 XL with Android Pie 9.0 (API 28). The app is an Android app created with Xamarin.Forms.
When you are creating a view, which uses full screen for showing content at that time notch display sometime hide/cut your top content.
To prevent this android provides support for this above android pie.
Refer to this document.
https://source.android.com/devices/tech/display/display-cutouts
We are getting ready to release an app, there is a slight difference in appearance on my development phones a Moto X and Galaxy Nexus, and my clients phones. He has a HTC One S with Android 4.4.4. Are there any websites or tools that I can test the appearance on for different phones? He lives in Brazil and me in Florida, so using his is out.
You should use the Android Virtual Device for this. You can use whatever version of android you would like, there are tons of predefined device sizes/resolutions or if none of those suit your needs you could always define your own.
Are you using Eclipse/ADT as your IDE? If so, the layout editor provides different views for a handful of different devices.
I am having trouble attaching a screen shot, so I will just explain. In the layout editor, you will see drop-down selectors for (a) Device/Screen Type, (b) Orientation, (c) Application Theme, (d) Android API level. This provide reasonable previews of you layouts.
I created an Android application. I tried this on differnet device and I have different layout in any Activity of my app. My Project Build Target is 2.3.3.
The two devices I used are:
Samsung Galaxy S2 - Android 2.3.6
HTC Desire - Android 2.3.5
For example the main Activity produces this layout in my Samsung:
and this in my HTC:
Why the two layout are so different?
This is because before Google introduced holo in Ice Cream Sandwich, manufacturers had a free hand in deciding how their devices' version of Android would look. Because of this, they could theme it to whatever they want.
I'm pretty sure that your app hasn't defined its own theme, and this is why you're getting such radically different looks on different devices.
To fix it, simply create your own theme and apply it to your activities.
This document can help you with styling your app.
You can use ActionBarSherlock with the Holo theme and Action Bar on older android versions (under 3.0).
I am building new Android app and i have question on the differences between how UI widgets looks in the emulator and how they look in my device (Samsung S2, OS 4.0.3).
When i run the app in the emulator buttons (BTW, and other UI widget) looks much more "elegant".. buttons (in number picker) are small arrow in blue/gray but in the device buttons (in number picker) are more "regular" (gray rectangle)
(sorry but I can not load pictures..)
my question is, how can i make the UI widget on my device looks like in the emulator?
Thanks,
Dudy.
I think it is the other way around - the emulator shows the default skin from Google, while your device shows what the manufacturer has customized (and burned into the operating system of your device).
So you may look into getting "Samsung skins" (if they exist) to make the emulator more close to the real device.
The nice UI you are talking about is probably the Holo Theme, which was introduced in Android HC, but some OEMs use customized Android Frameworks like Samsung(TouchWiz) or HTC(HTC Sense). If you want to use the same Theme throughout the big range of Android devices you can use third party libraries . A popular Theme, which brings pure Holo to older devices (2.3=<) is HoloEverywhere. If you use this Theme in your App you'll have the Holo Theme in most Android versions and on most devices.
I am new in android development. And I have confusion about android layout compatibility.
I am creating one app in android 4.0.3 but it's UI look like android 2.2 related UI.
I used all default controls in app but it not look like 4.0.3 related UI.
So any one can help me in below problems.
If I am creating app in android 4.0.3 then how it's look in android 2.2 and vice versa?
How can I create app which is run in all android version with standard UI?
Please help me.
Thanks in advance.
Your app will use the system theme that you specify, or the custom styles that you specify. If you do not create custom themes or styles your app will use the default styles on each platform. So on 4.0.3 it will use the ICS theme, and on 2.2 it will use the older theme.
To create an app that will run on all versions, you should probably set your target API to 1.5, but there are few devices with 1.5 left, so you'll probably set your API target to 2.2, and this will make your application run on all the devices with Android 2.2+.