認めてください:Androidインターフェースガイドラインを読んで、これはもちろん素晴らしいとは思いませんでしたが、Holoインターフェースのように見える古い(2.3 <)Androidの半分のスタイルをシャベルで削る必要がありますか?
それとも、最新のAndroidには素晴らしい機能がありますが、それを使用する必要がありますか?
最初に思い浮かぶのは、ActionBarとActionBarSherlockです。
ABSは優れていますが、ActionBarだけでは対応できません。 ホロバーだけでなく、ホロテーマが欲しいのです。
ええ、リスト上のこのような魅力的なActionModeは価値があります...
HoloEverywhere-Holoスタイル、Holoウィジェット、その他のチップをAndroid 1.6以前に移植することを目標とするプロジェクトを紹介します。








これらすべてのスクリーンショットは、Android 2.1で撮影されました(ABSの最小Androidバージョンですが、HoloEverywhereは、ABSが無効になっている1.6でも動作します)。
実際、すでに行われていること:
- Button、ToggleButton、RadioButton、CheckBox、Spinner、(Multi)AutoCompleteTextView、RatingBar、ProgressBar、SeekBar、その他の派生物など、多くのウィジェットがスタイル設定されています。 移植されたものもあります:Switch、NumberPicker、CalendarView、DatePicker、TimePicker
- AlertDialog、ProgressDialogの移植、通常のDialogのスタイル設定(残念なことに、AlertDialogの内部構造は閉じすぎてテーマを簡単に移植できないため、すべてのコードをプルし、標準AlertDialogと互換性のないバージョンを作成する必要がありました)
- Preference Framework全体が移植され、SupportSharedPreferencesが作成されます。これにより、さまざまなSetおよびJSONオブジェクト/配列を書き込むことができます(これはすでにお団子のようです:))
- アクティビティのテーマを切り替える小さな
自転車アシスタント - LayoutInflaterの
別のバイクを使用するすべての場所で、短い名前でビューを膨らませることができます。 たとえば、以前にこれを書いた:
<com.myapppackage.widgets.MySuperView ... />
そして今、アプリケーションの開始時に正しいパラメーターで正しいメソッドを呼び出すと、単にMySuperViewを書くことができます。これは、HEが使用されている(もちろん、現在のアプリケーション内で)どこでも機能します。
また、システムウィジェットを含むレイアウトを変更せずに、システムウィジェットを独自のウィジェットに置き換えることができます。 しかし、ウィジェットがコードから作成された場合、何もする必要はありません。
- 実際、投稿の冒頭で言及したActionModeです。 拡張されたListView実装により、ABSからActionModeを開始できます。
プロジェクトリポジトリ:
github.com/ChristopheVersieux/HoloEverywhereプロジェクトに接続するための同じ指示があります。
APKデモを
ダウンロードします。
原則として、これですべてですが、プロジェクトを支援することができます-最も直接的な方法(プロジェクトの分岐、追加、プルリクエストの送信)、または新しい機能の説明を含む機能リクエストを開くか、最後に個人のメールで私に手紙を送信してください:)