Material Design のパレット色を決めるときの簡単な方針づけ

これ便利ですね.

Material Design Color Palette Generator - Material Palette

Material_Design_Color_Palette_Generator_-_Material_Palette

触っていると大体こんな感じ.

1. 最初のクリックは, Primary color.
2. Primary color から Dark/Light を作成.
3. 2つめのクリックは, Accent color.
4. Textの Primary/Secondary は固定.

分かりやすく書くと

DARK PRIMARY

PRIMARY *1

LIGHT PRIMARY

ACCENT *3

PRIMARY TEXT #212121
SECONDARY TEXT #727272
DIVIDER COLOR #B6B6B6

ベースとなる19色はそれぞれ濃淡があり
HEXな記号は, Google のサイトにまとまっている.

Color_-_Style_-_Google_design_guidelines

Color - Style - Google design guidelines

ここを見ると, 濃淡に関してこんな例が上がっているのでそのまま鵜呑み.

Color_-_Style_-_Google_design_guidelines

- PRIMARY は 500.
- それから派生する DARK は 700.
- 同じく LIGHT は 100.
- ACCENT(SECONDARY) は A200.
- その DARK/LIGHT はそれぞれ A400/A100

こうなる.

DARK PRIMARY(700)

PRIMARY(500) *

LIGHT PRIMARY(100)

DARK SECONDARY(A400)

SECONDARY(ACCENT)(A200) *

LIGHT SECONDARY(A100)

PRIMARY TEXT #212121
SECONDARY TEXT #727272
DIVIDER COLOR #B6B6B6

PRIMARY と SECONDARY(ACCENT) の2色を決めると, 画面を構成する9色が決まる.

500 とか A200 とかをHEX記号にするには, 上記Googleのリファレンスをみたり,

または, こんなサイトもある.

Material_UI___Material_Design___Material_UI_Colors

Material UI | Material Design | Material UI Colors

これ, もう全部 color.xml に登録しておいたら, どうなのか.

AndroidStudioなら実際の色もGUI上で確認できるし.

color_xml

こんなアプリがあって, コードもGitHub上で公開していますので color.xml いただいてます.

Material_Design_Color_Palettes_-_Android_Apps_on_Google_Play

Material Design Color Palettes - Android Apps on Google Play

Android_Material_Design_Colours

Android Material Design Colours

MaterialTheme のカラーname に合わせるとこんなかんじになるのかな.

color_xml_Project_

(おしまい)


Eclipse で Android アプリ開発ができなくなるという話

こんな.

ADTバンドル版のSDKはもう配布されないという情報があるようですが、本当でしょうか?
これからAndroidアプリを開発する場合は Android Studio を前提にしたほうがよいでしょうか。

Eclipseタグが追加されていますが、ADT(Android Development Tools)とAndroid SDK(Software Development Kit)と、IDEであるEclipseはそれぞれ別のものです。

質問の意図は、「ADTがバンドルされたEclipseが今後配布されるか?」かと思いますが、

http://developer.android.com/tools/help/adt.html

のNoteに、「もしADTと一緒にEclipseを利用している場合、現在の公式IDEがAndroid Studioであることを認識し、全ての最新のIDEアップデートを受け取るために、Android Studioへ移行しなければならない」とありますので、今後はAndroid Studio前提で考えた方がいいでしょう。

android - ADTバンドル版のSDKはもう配布されない? - スタック・オーバーフロー

If you have been using Eclipse with ADT, be aware that Android Studio is now the official IDE for Android, so you should migrate to Android Studio to receive all the latest IDE updates.

Android Studio 1.0 Officially Released, Eclipse With ADT No Longer In Active Development

この文章が見当たらないけど, どこにあるんだろう...

If you're a new Android developer, you should consider starting with Android Studio, because the ADT plugin for Eclipse is no longer in active development.

きっと,

「Eclipseで開発できなくはないが不自由になってくる」

てのが現実的な将来なのでしょう.

Installing_the_Eclipse_Plugin___Android_Developers

ADT Plugin Release Notes | Android Developers

Installing the Eclipse Plugin | Android Developers


API-19 と 20+ 間を Material Design でどう跨いでいけばいいのか

Introduction_-_Material_design_-_Google_design_guidelines

とりあえず公式をみてみる.

* テーマの設定

1. Holoのようなこれまでのテーマを継承して定義する
res/values/style.xml

2. 同じ名前でテーマをMaterialテーマを継承して定義する.
res/values-v21/style.xml

3. これらのテーマを AndroidManifest.xmlでアプリに設定する.

* レイアウトの設定

21+向けのディレクトリをそれぞれ準備する
res/layout-v21/
res/values-v21/

API-21+ に対しては, 各リソースファイルを「*-v21」として新規に作成するという考え方.

これまでのUIデザインを変化させずに, 新しく OS 5.0+ の端末に対してのみマテリアルなデザインを表示させる.

その後にこう書いてる.

* サポートライブラリをセット

Theme.AppCompat を使えば いくつかのウィジェットは MaterialDesign のものを使える.

dependencies {
compile 'com.android.support:appcompat-v7:21.0.+'
compile 'com.android.support:cardview-v7:21.0.+'
compile 'com.android.support:recyclerview-v7:21.0.+'
}

EditText
Spinner
CheckBox
RadioButton
SwitchCompat
CheckedTextView
RecyclerView
CardView
Palette

完全ではないもののいくつかのウィジェットは appcompat-v7 で対応できる.

Lollipopを載せた端末の拡散具合や人気を考えると, OS4.x系端末でのマテリアルデザイン表示をしないと「マテリアルデザインに対応します(しました)」とうたいづらい.

よほどUIが凝ったアプリで無い限り, この appcompat-v7 ウィジェットを使って, これまで(API-19まで)のテーマに適用する, まずは.

/res/values/styles.xml

...
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
...

とこれまでのテーマの親にもつ.

このあと, 微調整を行い, API-19までのUIをマテリアルなかんじに仕上げていき, そのあと *-v21 のリソースを触りながら, 気にせず Lollipop端末に向けてのマテリアル化を進めていく.

と, そんな順序が王道ではないかな...

Maintaining Compatibility | Android Developers