I am using Eclipse ADT to develop my first Android application.
In Eclipse you can change the theme using the menu shown in the Graphical Layout window. I decided to use the Black theme because I like the way the UI components look using that theme.
One of my UI widgets is a seek bar. Here is how it looks using the Black theme:
When I test (run) my application using the Nexus S virtual device the seek bar looks different:
Why do they look different? (I am guessing that Eclipse is just showing me a preview of what that theme would look like and not actually setting it anywhere and that when I run my app it inherits the theme from the target platform.) Is there a way I can force the look and feel of my app?
Thank you.
Because the Android UI has evolved and changed. The first image you posted is Android 2.2 (ish) and then the second image looks like Android >= 4.0.
Secondly, AFAIK, changing the theme from that menu is ONLY for checking out the apps UI within the GUI layout editor - it will not change the theme on launch within the emulator, or a real device. For that you need to specify the theme within your manifest.
You can change the version of Android being used in the preview too, using the Android icon on the far right of the GUI editor. You can also preview more than one at a time using the far left icon on the same toolbar.
What Rawkode said.
I'll add my two cents:
You can take a look at the HoloEverywhere project if you want to have a consistantly looking application across all Android versions.
The project is essentially a backport of the Holo theme for Android pre 4.0.
You can check it out here:
http://www.holoeverywhere.com/
Related
I am making an app in Android Studio. I want to make the app full screen. I would change the theme using the button in the application, but if I change the phone or refresh the app, it would change back. Please help!
I think you're trying 'Design preview in Android studio'.
In 'Design' tab (where you're in right now), you can just see how it would look like in different phones and Android SDK versions.
If you want to change the App theme permanently,
Go to res/values/styles.xml and custom your own theme -ex) 'AppTheme'
In AndroidManifest.xml, you can set it via namespace 'theme' like this android:theme="#style/AppTheme"
I am creating a Appointment Application for an assignment, and for this I have to make a CalendarView in my android application. However when I run my application the design of the CalendarView that is shown in my mobile and the emulator ends up different. I want the CalendarView to show up in my mobile the same way it is displayed in the emulator.
This is how the CalendarView shows up in my mobile:
This is how the CalendarViewshows up in the emulator & design view in Android Studio:
In addition to Android itself changing the framework's CalendarView between versions, vendors can potentially modify it as well. For consistent behavior you can bundle your own. Square's TimesSquare is one reasonable option.
the theme of this widget can change from api to api
try to set a theme in the xml.
android:theme="#style/Theme.AppCompat.Light"
I've taken the basic Hello World app from the SDK examples and have been learning Android by modifying it. Currently I'm trying to change the Theme. I'm testing it on my Nexus 7 running the latest OS and I'm using Eclipse.
In my manifest I have
android:theme="#style/AppBaseTheme"
In values-v11/styles I have
style name="AppBaseTheme" parent="android:Theme.Black
I've tried using Holo and am aware I need to be V11 or higher to do that.
When I try running my app it starts on the tablet and I can see the black background as expected, but before it can draw any components Eclipse goes to debug mode in ActivityThread.performLaunchActivity and then into ZygoteInit$MethodAndArgsCaller.run() before my app dies.
If I use this it's fine:
style name="AppBaseTheme" parent="#style/Theme.AppCompat.Light"
I feel I'm missing something obvious or there's a fundamental part of Themes that I don't understand. I have tried removing the .android/ directory and restarting Eclipse, that fixed a few other issues.
I know the # symbol in this context denotes that it is an inbuilt style by android. Does that mean I have to add something to my app to link in other themes? If so what exactly?
When using the designer for Mono for Android in Visual Studio,
the controls have a nice clean design but as soon as you run the app on a device (emulator or real)the controls have a completely different style:
Is this because the designer uses a specific theme, if so which one,
or is there something else I have to do to get the same style on the device as in the designer?
You probably have the default theme set to Theme.Holo.Light in the designer. In the upper-right of the designer, you will see a button that allows you to select the theme. See the screenshot below.
If you need to change the theme to Holo light or just Holo, reference this post. You will need to make some themes resources and update your application manifest.
This normally happens when your Target Framework is set to Automatic - it will drop down the lowest theme it can use, you will want to change that to API 14/15 to pick up the "Halo" theme from within Android
My friend tried my app with his new galaxy tab and it seems it is a little different than the emulator I tested it on. His options menu for the app was dark instead of the white background and you could not really see any of the options and most of the app did not work properly. I made the app on the 2.1 android update and am very stumped I tried searching for something about this but could not find anything. Is there a way to modify to act accordingly if this happens?
Samsung modified a lot of standard themes and images. The only way to fix it, that I found, was to force my own theme and use my own images everywhere.
Since Android 2.3 the menu background has changed to black. But the general color palette for the icons you make shouldn't be that much different. See more here:
Android Menu Design Guidelines
If you wish to have different icons for android version 2.3 and earlier versions put the icons for Android 2.3 and later in a resource folder with -v9 appended to the folder name. Example:
drawable-hdpi-v9
You should do the same thing with notification icons, as android 2.3 really made a big change to the way notification icons should look.
Btw, if you are looking for an easy way to make icons for your application, Roman Nurik's asset studio is really great: http://android-ui-utils.googlecode.com/hg/asset-studio/dist/index.html