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_

(おしまい)


通知バーに通知されるアプリの自己主張がうざい場合の対処法

なんとなく扱っていたのが

上部通知バーに表示されるアイコンやメッセージの通知.

最近のアプリは通知が頻繁で自己主張が激しいのですこし整理.

いまさらか.

それは「かわいい娘は最近の男は積極的だよねと言い、普通の娘は最近の男は消極的だよねと言い、ブスな娘は最近の男はホント草食系だよねと言っているみたいです。この法則によると男が草食系になってるのではなく、女にブスが増えたのではと思います」という内容だった。

【話題】小木「草食系男子は増えてない。ブスの発言力が増してきただけ」

まず, 通知バーにはそのアプリ側から通知を表示させているので,

「そのアプリの設定で通知を非表示にする」という方法.

例えば, LINEなら「設定」-「通知設定」ですよね.

20150111-231435

20150111-231447

GooglePlayStoreなら「設定」画面を開いて以下の画面から.

20150111-232218

LINEアプリやGooglePlayStoreアプリは,

優しく「通知設定」という機能があるのでいいですが,

そんな機能がないアプリもたくさんあります.

その場合は, 「OSの設定でそのアプリからの通知を非表示」させます.

端末の「設定」-「アプリ」からそのアプリを選択するか,

または, 通知が表示されたときに通知バーのその表示を長押しして

以下のような画面を表示させて端末のOS設定から非表示にします.

20150111-232518

アプリによっては, ここからも非通知にできないアプリがあったりしますが,

大体はいけます.

あと, 通知バーを使ったアプリの履歴一覧を表示する方法もありますので

ここからもタップでこの画面にいけます.

通知バーを利用したアプリの履歴を確認する手順(アプリ不要)

20150111-233322

20150111-233424

微妙に端末よってちがったりするけど, OS 4.1 (4.0?)以降ならこれがOSデフォルト.

まとめ

通知バーの通知がうざいアプリがある場合

1. そのアプリ内の設定で非表示にする.
2. OSの設定で非表示にする.
3. それでもダメならアンインストールする.

しかし, スマホとか「説明書などをきちんと読む」てな習慣, 無くなったよねぇ~.


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


Nexus6 (shamu) に CyanogenMod12 で 噂の機能を眺める

入れてみました, Nightly とか.

OS 5.0.2 て書いてるなあ.

20150107-161028

カスタム ROM 「CyanogenMod」の複数の標準アプリが Android 5.0 (Lollipop)ベースの CyanogenMod 12 で独自の Material Design 方式の内容に刷新されているようです。イタリアの CyanogenMod ファンサイトが伝えました。

今回 UI デザインが刷新されたのは、ブラウザ、ターミナル、ファイルマネージャー。また、音声レコーダーと「イレブン」と呼ばれる Apollo に代わる新しい音楽アプリです。

CyanogenMod 12で複数のプリインアプリがMaterial Design化される | juggly.cn

ブラウザ

マテリアル化されてる. グリーンベース.

20150107-161757

20150107-161724

20150107-162053

けど, この「ブラウザ」って「com.android.brawser」のことだけど, これって 公式 Lollipop では消え去って Chrome に置き換わってるよな.

ターミナル

いまはまだない.

ファイルマネージャー

権限周りがうるさくなってる.

20150107-162616

20150107-162906

20150107-163018

20150107-162750

パスワード付きなセキュアなディレクトリが作成できる.

20150107-163643

20150107-163658

音声レコーダー

赤ですね. ファイル形式も選択できます.

20150107-163951

(更新中...)


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