Admit it: while reading the Android Interface Guidelines, you didn’t have the idea that this was all awesome, but did the old (2.3 <) Androids have to shovel half the styles to look like a Holo interface?
Or so: in the latest Android there is just an awesome feature, but you need to use it?
The very first thing that comes to mind: ActionBar and ActionBarSherlock.
ABS is great, but you can't get away with ActionBar alone. We want a Holo theme, not just a Holo bar, damn it.
')
Eh, such an attractive ActionMode on the lists of what it costs ...
Let me introduce HoloEverywhere, a project whose goal is to port Holo style, Holo widgets and other features on Android 1.6 and up.








All these screenshots are made on Android 2.1 (the minimum Android version for ABS, but HoloEverywhere works on 1.6 with ABS disabled).
Actually, what has been done:
- Many widgets are stylized, such as Button, ToggleButton, RadioButton, CheckBox, Spinner, (Multi) AutoCompleteTextView, RatingBar, ProgressBar, SeekBar and other derivatives. So there are ported: Switch, NumberPicker, CalendarView, DatePicker, TimePicker
- Ported AlertDialog, ProgressDialog, styled with a regular Dialog (unfortunately, the guts of AlertDialog are too closed for a simple porting of the theme, I had to pull all its code and create an incompatible version with the standard AlertDialog)
- The entire Preference Framework has been ported, created by SupportSharedPreferences, which can write various Set and JSON objects / arrays (this is already like a bun :))
- A small
bike assistant to switch topics for an Activity - Everywhere
another Bicycle uses its own LayoutInflater, which can inflate your views with a short name. For example, before you wrote this:
<com.myapppackage.widgets.MySuperView ... />
And now, if at the start of the application you call the correct method with the correct parameters, you can simply write MySuperView, and this will work wherever HE is used (within the framework of the current application, of course).
It also follows from this that you can replace the system widgets with your own, without changing the markup at all, including the system ones. But if widgets are created from code, there's nothing you can do.
- Actually, ActionMode, about which I mentioned at the beginning of the post. An enhanced implementation of ListView, allows you to start ActionMode from ABS
Project repository:
github.com/ChristopheVersieux/HoloEverywhereThere is also a guide to connecting to the project.
Download apk demos.
In principle, for now everything, but you can help the project - either the most direct way (to fork a project, add, pull request), or open a feature request with a description of the new feature, or send an email to me in a personal, in the end :)