I'm writing an Android App and I'm trying to choose which compatibility library to choose to implement the ActionBar functionality.
I'm trying to choose between two libraries:
GreenDroid : https://github.com/cyrilmottier/GreenDroid
Android-Actionbar: https://github.com/johannilsson/android-actionbar
From what I could gather, AA(Android-Actionbar) seems to be simpler, and easier to style. But GreenDroid has additional features which make it the more powerful solution in general(not just for an Actionbar).
I left out ActionBarSherlock because it also supports fragments, is more complicated.
IF there are others that I missed, please share!
Use ActionBarSherlock.
It is based on ICS code, is actively developed, and will use the native actionbar when run on ICS. It also plays nicely with the compatibility library and will let your use ICS features such as the split action bar and share providers. Probably the biggest plus is that it uses exactly the same API as ICS. If you don't need fragmetns, you certainly don't have to use them.
Green Droid offers a custom look and feel, not exactly consistent with Android UI design guide lines. Android-Actiobnar is based on custom layouts and only offers basic features.
Here's a discussion (might be biased, since it's by the ABS author): http://corner.squareup.com/2012/05/actionbarsherlock-as-a-base.html
The Android-Actionbar is better, for sure.
Couldn't think of any other ones but I am sure there are.
Related
I understand that for Android below 3.0 i need to use ActionBar from v7 support lib
My question is how v7 ActionBar behaves on phones above Android 3.0. Does is use native ActionBar or v7 ActionBar?
I am asking if v7 ActionBar on phones with Android 3.0 and above will be of less quality
(may be less features) than regular ActionBar
Thanks
If you decide to use ActionBarCompat - all your devices will get action bar from compat library. Of course you can have some really tricky API version checks and choose one over another in runtime, but efforts and code complexity just don't worth it. I wouldn't say it is going to be "less quality" since Google guys are really trying hard to make it look the same. Also Im pretty sure list of interfaces is exactly the same as native implementation.
From another hand, there is obviously a risk to hit some nasty bug which is not present (or already fixed) in native implementation, so it is all up to you to take this risk to the benefit of supporting older platforms.
I have question about graphic design of android application. On this link you can see my ActionBar in my application using SherlockActionBar. But I want something like on this link. Where can I learn how to do something like that or where can I edit my ActionBar.
I would recommend against using SherlockActionBar for this. I've tried and it just seems so messy and difficult to implement.
In May 2013, Google released a new support library for this kind of Drawer Layout which uses fragments. It's very easy to implement and there are many examples showing how.
Edit:
i see now that on the link you provided, they were using the support library I referred to. However, I do suggest you take a look at the support library, specifivally v7, which will allow you to use the Action Bar in previous version of android, rather than relying on a 3rd-party software package like ABS.
Is there a easy way to have our application look like ICS or JB?
Mainly the slider and the radio button. They look old when displayed in green.
Any hint about this?
There's a nice package available on github called HoloEverywhere.
One thing though, do not try pass it off as a ICS/JB Application, just because it "looks" like the user interface one would expect to see in a native ICS/JB Android set up.
Best that can be done with the project, is to target the latest SDK to guarantee your wide-market of Android usage, including GB.
Aim high, not low ;)
The best way is to use the Android Library 'Actionbar Sherlock'. This Library uses all native ICS Themes, etc for older devices.
ActionBarSherlock is an extension of the compatibility library designed to facilitate the use of the action bar design pattern across all versions of Android with a single API.
I'm looking to create a cross-version compatible android tabbed layout.
The problem I'm running into is when implementing Google's example of TabActivity, I get a depreciation notice. The app I'm writing needs to be compatible down to 2.1, and I'm not finding a clear cut way to make it compatible.
I am aware of the versioning by folder (/layout-v4, /layout-v14, etc) but if possible I want to avoid this.
Are fragments the answer here and if so, does the Android Compatibility Layer V4 become the key to solving this problem?
I'd suggest the best approach might be to use the excellent (and free) ActionBarSherlock, so you can add Android 3+ action bar (including tabs) to apps going all the way back to v2.x versions.
I've used it on a few apps and it's pretty easy. I think it's the right approach to use the proper Action Bar interface across platform versions, and they include tabs and replace the whole TabActivity thing, which was pretty horrible anyway.
http://actionbarsherlock.com/
Considering Android Design Guidelines announcement what is the best way to make apps which are compliant with them on Android 2.x phones? E.g. what is the best way to implement the ActionBar pattern?
ActionbarSherlock is a starting point. It includes the compatibility libraries from Google and comes provided as a project rather than JAR offering greater flexibility, should you need to alter anything. Version 4 is on the way which will also include ICS stuff.
As far as I am aware I believe ABS is backward compatible to 1.6, and makes use of the minSdkVersion and targetSdkVersion. It uses an extended version of the holo theme to create a light and dark version that includes the extra ActionBar goodness, which in turn you can extend to style your app.
I recorded a tutorial on YouTube to get people started.
I think it's better to use the compatibilty libraries directly, instead of another library based on those. Additionally, refer to the Google I/O App as stated at the bottom of the first link I gave. You can find the best practices about implementing a UI for several devices with compatibility libraries.
I found ActionBarSherlock to be pretty good. It will emulate ActionBar on older devices and use the native one on modern ones. It's an extension to Android compatibility library - so you will also get fragments and other ICS stuff.