【第1回】デザイナーがコードから読み解く、Androidアプリのデザインの幅を広げるコツとTips

34,739 views
34,992 views

Published on

導入・9-patch
2012.9.6 STARTUP Base Campにて

Published in: Design
0 Comments
80 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
34,739
On SlideShare
0
From Embeds
0
Number of Embeds
23,112
Actions
Shares
0
Downloads
177
Comments
0
Likes
80
Embeds 0
No embeds

No notes for slide

【第1回】デザイナーがコードから読み解く、Androidアプリのデザインの幅を広げるコツとTips

  1. 1. ハッシュタグデザイナーが ##aaaaddeessiiggnnssコードから読み解く、AAnnddrrooiiddアプリのデザインの幅を広げるコツとTTiippss 第11回:導入�・99--ppaattcchh @@SSTTAARRTTUUPP BBaassee CCaammpp 22001122..99..66
  2. 2. ハッシュタグ ##aaaaddeessiiggnnssaassaammiieeeeee77 ttoommmmmmmmyy aaddaammrroocckkeerr
  3. 3. ハッシュタグ##aaaaddeessiiggnnss
  4. 4. ハッシュタグ ##aaaaddeessiiggnnss がんばって作ったデザインが、実装後に残念な結果にならないために
  5. 5. デザイナーがコードから読み解く、AAnnddrrooiiddアプリのデザインの幅を広げるコツとTTiippss@@ttoommmmmmmmyy秋葉ちひろ/BBaaiidduu JJaappaann
  6. 6. 秋葉ちひろ•・ @@ttoommmmmmmmyy•・ デザイナー/アートディレクター•・ WWeebb系・アプリ系•・ BBaaiidduuでSSiimmeejjiiの開発のフロント エンドの一部
  7. 7. なぜ残念になるのか?エンジニアまかせだから•・ デザイナーが実装のことをわかっ ていないから•・ 実装の指示が出せない
  8. 8. なぜ残念になるのか?エンジニアまかせだから•・ エンジニアはデザインのことをわ からずに実装しているから
  9. 9. 実装のことをわかっていたら、 組みやすい、理にかなった デザインができる
  10. 10. Webサイトの場合 Androidアプリの場合Visual Design Visual Design HTML Coding Coding XML CSS System System
  11. 11. Webサイトの場合 Androidアプリの場合Visual Design Visual Design HTML Coding Coding XML CSS System System
  12. 12. この勉強会のポイントXXMMLLの実装•・ ちょっとでも知識があれば、実装可 能かどうかがわかる•・ 110000%できなくてもいいので、 ちょっとでも知っておこう
  13. 13. http://itpro.nikkeibp.co.jp/article/COLUMN/20120113/378483/
  14. 14. 背景画像影
  15. 15. アナログ感カスタムUUII
  16. 16. ダイアログ
  17. 17. 11.. 導入�22.. 99--ppaattcchh
  18. 18. 11.. 導入�22.. 99--ppaattcchh
  19. 19. 11.. 導入� •・ AAnnddrrooiiddアプリを作るには -- デザイナーとってむずかしくないの? •・ 画面解像度・画面サイズ -- デザインファイルはどの大きさで作る? -- 解像度ちがいのデザインはどうやって作る の?
  20. 20. 11.. 導入� •・ AAnnddrrooiiddアプリのデザインで 気をつけること •・ アプリの軽量化も考える
  21. 21. 11.. 導入�AAnnddrrooiiddアプリを作るには
  22. 22. Eclipse Android SDK
  23. 23. Eclipse Android SDK
  24. 24. 白くすればこわくない!
  25. 25. 茶色とかもあるよ! え、そういう問題じゃない?
  26. 26. 11..導 入�AAnnddrrooiiddアプリなにでできているの? •・ レイアウトまわり XXMMLL •・ ロジック JJAAVVAA
  27. 27. <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <LinearLayout style="@style/commonList" > <LinearLayout style="@style/commonText" > <TextView style="@style/listText" android:text="@string/base_sounds" /> <TextView style="@style/listSubText" android:text="デフォルト" /> </LinearLayout> <ImageView style="@style/listDialog" /> </LinearLayout> <LinearLayout style="@style/commonList" > <LinearLayout style="@style/commonText" > <TextView style="@style/listText" android:text="@string/base_vibe" /> </LinearLayout> <CheckBox style="@style/checkBox" /> </LinearLayout> <LinearLayout style="@style/commonList" > <LinearLayout style="@style/commonText" > <TextView style="@style/listText"
  28. 28. <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" ><LinearLayout> <LinearLayout style="@style/commonList" > ddiivv <LinearLayout style="@style/commonText" > <TextView <TextView /> hh,, pp style="@style/listText" android:text="@string/base_sounds" /> <TextView <ImageView /> iimmgg style="@style/listSubText" android:text="デフォルト" /> <CheckBox /> </LinearLayout> iinnppuutt ttyyppee==cchheecckkbbooxx <ImageView style="@style/listDialog" /> </LinearLayout> <RadioButton /> iinnppuutt ttyyppee==rraaddiioo <LinearLayout style="@style/commonList" > <LinearLayout style="@style/commonText" > <TextView <button /> iinnppuutt ttyyppee==bbuuttttoonn style="@style/listText" android:text="@string/base_vibe" /></LinearLayout> </LinearLayout> <CheckBox style="@style/checkBox" /> </LinearLayout> <LinearLayout style="@style/commonList" > <LinearLayout style="@style/commonText" > <TextView style="@style/listText"
  29. 29. resdrawable-xhdpidrawable-hdpidrawable-mdpi iimmggdrawable-ldpilayouts JJAAVVAAmain.xml hhttmmll 構造valuesstrings.xml ccssss 飾�り
  30. 30. Q. デザイナーにとって むずかしくないの?A. 環境構築さえできれば なんとかなります
  31. 31. 11.. 導入�画面解像度・画面サイズ
  32. 32. 11..導 入�AAnnddrrooiiddアプリの宿命なぜこんなに苦労する •・ 画面解像度がバラバラ •・ 画面サイズも まったく統一されない
  33. 33. 11..導 入�iiPPhhoonneeの場合 ddeennssiittyy ddeennssiittyy ssiizzee((ppxx)) ggrroouupp rraattiioo iiPPhhoonnee 33GG 116600 11 332200xx448800iiPPhhoonnee 33GGSS 116600 11 332200xx448800 iiPPhhoonnee 44 332200 22 664400xx996600 iiPPhhoonnee 44SS 332200 22 664400xx996600
  34. 34. 11..導 入�AAnnddrrooiiddの場合 ddeennssiittyy ddeennssiittyy ssiizzee((ppxx)) ggrroouupp rraattiioo ひと昔前 116600 11 332200xx448800XXppeerriiaa aarrcc 224400 11..55 448800xx885544 IINNFFOOBBAARR AA0011 224400 11..55 556600xx996600 GGaallaaxxyy SS IIII 224400 11..55 448800xx880000 GGaallaaxxyy NNeexxuuss 332200 22 772200xx11228800
  35. 35. 11..導 入�116600ddppii 224400ddppii 332200ddppii mmddppii hhddppii xxhhddppii 11 11..55 22 XXppeerriiaa aarrcc GGaallaaxxyy NNeexxuuss IINNFFOOBBAARR AA0011 GGaallaaxxyy NNoottee GGaallaaxxyy SS IIII http://myakura.github.com/n/density.html
  36. 36. Q. デザインファイルは どの大きさで作る?A. xxhhddppiiで作る ((772200xx11228800))
  37. 37. 448800xx880000 772200xx11228800 xx00..775511..55 hhddppii xxhhddppii 22 xx11..3333 バッチ処理も可能。 ピクセルパーフェクトにこ だわる場合は少々の手直し が必要。 同じ画像を使うことももち ろんできる。 できるが、Webのときと同 じことが起こる。
  38. 38. 448800xx880000 772200xx11228800 hhddppii xxhhddppii•・ 画像のサイズ を指定しない と大きく表示 される
  39. 39. 448800xx880000 772200xx11228800 hhddppii xxhhddppii •・ 画像がねむい •・ RReettiinnaa DDiissppllaayy でWWeebbサイトを 見た感じ
  40. 40. 448800xx880000 772200xx11228800 hhddppii xxhhddppii 微調整
  41. 41. Q. 解像度ちがいのデザイン はどうやって作るの?A. 大きいものから作ると 楽ちん!(ただし要調整)
  42. 42. 11.. 導入�AAnnddrrooiiddアプリのデザインで 気をつけること
  43. 43. 11..導 入�iiPPhhoonneeとAAnnddrrooiiddの違い iiPPhhoonnee AAnnddrrooiidd 画面サイズ 22種類 星の数画面の縦横比 同じ 機種によってちがう フォント ヒラギノ 機種によってちがう
  44. 44. 11..導 入�気をつけること•・ 文字により変化する部分がある (フォントが機種依存だから)•・ 画面サイズが大きくなっても伸縮 するようにする (画面サイズが機種依存だから)
  45. 45. Q. AAnnddrrooiiddアプリデザインを 考えるときに気をつけるこ とは?A. 画面サイズが多少変化し ても耐えられるデザイン にすること
  46. 46. 余白をじゃっかん大小して自然に組めるデザインが、 いちばんうれしい!
  47. 47. 11.. 導入�アプリの軽量化も 考える
  48. 48. 11..導 入�アプリの軽量化•・ 重いのは画像です•・ コードでかけるものはコードで かこう(→22回目にて詳しく)
  49. 49. この勉強会のポイントXXMMLLの実装•・ ちょっとでも知識があれば、実装可 能かどうかがわかる•・ 110000%できなくてもいいので、 ちょっとでも知っておこう
  50. 50. 11.. 導入�22.. 99--ppaattcchh
  51. 51. 22.. 99--ppaattcchh •・ 99--ppaattcchhとは -- なぜ必要なの? -- 知っておく必要があるの? •・ 仕組みと作り方 •・ 作成ツール
  52. 52. 22.. 99--ppaattcchh •・ 応用「このデザインはできます!」 •・ 99--ppaattcchhに不向�きな例
  53. 53. 22.. 99--ppaattcchh99--ppaattcchhとは
  54. 54. AAnnddrrooiiddアプリのデザインで キモとなる 99--ppaattcchh
  55. 55. CCSSSS ((CCSSSS33)) でいうと、bboorrddeerr--iimmaaggee というプロパティがある
  56. 56. 画像を99分割して、四隅は固定、その他を伸びてもいいようにする
  57. 57. Q. なぜ必要なの?A. 伸縮のことを考えないと いけないことが多い
  58. 58. 448800xx880000 556600xx996600
  59. 59. 448800xx880000 556600xx996600
  60. 60. エンジニアさんに物申す! 縦横比を勝手に変えないで ください!
  61. 61. Q. 知っておく必要が あるの?A. あると思います。 エンジニアさんに物申すため…�
  62. 62. 22.. 99--ppaattcchh 仕組みと作り方•・ 伸びる部分と伸びない部分を決める•・ 中のコンテンツが入�り込むエリアを 決める
  63. 63. 黒い点((線�))で表現•・ 書き出したパーツの上下左右に、 11ppxxずつ余白を追加する
  64. 64. 伸びる部分と伸びない部分•・ 上側と左側に黒い点((線�))をかく
  65. 65. 伸びるところ
  66. 66. このデザインに関しては 結果は同じ伸びても耐えられるデザイン
  67. 67. 同じ色
  68. 68. 大きなグラデーション
  69. 69. 同じ色同じ色
  70. 70. このデザインに関しては結果はビミョーにちがう もっこり感がビミョーに変わる
  71. 71. 22.. 99--ppaattcchh 仕組みと作り方•・ 伸びる部分と伸びない部分を決める•・ 中のコンテンツが入�り込むエリアを 決める
  72. 72. 中のコンテンツが入�り込むエリア •・ 右側と下側に黒い点((線�))をかく
  73. 73. コンテンツが入�り込むエリア
  74. 74. 余白
  75. 75. 余白
  76. 76. 余白
  77. 77. 99--ppaattcchhは余白を定義することもできる!
  78. 78. 仕組みと作り方•・ 伸びる部分と伸びない部分を決める•・ 中のコンテンツが入�り込むエリアを 決める 双方は独立している
  79. 79. bbuuttttoonn__bbgg..ppnngg
  80. 80. bbuuttttoonn__bbgg ..99 ..ppnngg
  81. 81. main.xml<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/button_bg" android:text="撮影する" />
  82. 82. 22.. 99--ppaattcchh 作成ツール•・ パーツを書き出したあと、 「ddrraaww99ppaattcchh」を使う•・ PPhhoottoosshhooppやFFiirreewwoorrkkssなどで そのまま黒い点を打つ
  83. 83. ddrraaww99ppaattcchh•・ AAnnddrrooiidd SSDDKKの中に入�っている
  84. 84. DEM O
  85. 85. ddrraaww99ppaattcchh、どう?使いにくい!!
  86. 86. •・ 真ん中はどこ? 目分量•・ 左右対称とかどうやるの? 目分量•・ めっちゃ長いやつとか がんばって塗る どうするの?もうめんどくさいので…�
  87. 87. PPhhoottoosshhooppでええやん!
  88. 88. PPhhoottoosshhooppの落とし穴 •・ このまま書きだしても適用されない •・ 書き出し時のmmeettaa情報とかが問題? •・ 原因はよくわからない
  89. 89. ちなみに…�FFiirreewwoorrkkssからでも ダメでした。
  90. 90. PPhhoottoosshhoopp FFiirreewwoorrkkssなのですが、その後懇親会で、PSでもできるよ!というお話を聞きました!たぶん、わたしがやったものだと、まわりの9-patchのエリアに肉眼では見えないような、うす∼い影などが入っていたような気もします。ブログを書いてくださいましたので参考にしてください!http://htomiyama.blogspot.jp/2012/09/9patchdraw9patch.html
  91. 91. Q. 99--ppaattcchhを作るには?A. ・ddrraaww99ppaattcchhを使う ・PPhhoottoosshhooppとかでも  できる…�?? きれいに作れば、Photoshopでもできるようです!!
  92. 92. 22.. 99--ppaattcchh 応用「このデザインはできます!」
  93. 93. 99--ppaattcchhのポイント11伸ばす点はいくつでも •・ 上側・左側の伸ばす点はいくつでも 打てます
  94. 94. 99--ppaattcchhのポイント22伸ばす点の割合 •・ 何ピクセル打つかによって伸びる 割合が変わってきます
  95. 95. 99--ppaattcchhの注意点伸ばすしかできない •・ ちぢむことができないので、 最小の大きさで作るとGGoooodd!
  96. 96. 重なっとるーー!!
  97. 97. 99--ppaattcchhの33箇条•・ 伸ばす点はいくつでも打てる•・ 伸び率も比例する•・ 小さめにつくる
  98. 98. ちなみに…�一度やってみてください 吐くぐらい、 めっちゃめんどくさいです
  99. 99. 22.. 99--ppaattcchh99--ppaattcchhに不向�きな例
  100. 100. 不向�きな例ストライプ・ドット
  101. 101. DEM O
  102. 102. 不向�きな例 一部テクスチャ
  103. 103. @@aakkaaii__tt
  104. 104. さいごに•・ 別にデザイナーがやらなくてもいいけ ど、仕組みは知っておいてください•・ 時間があったらやってみてください (ちょーめんどくさい)•・ お互い苦労を知りましょう
  105. 105. ありがとうございました!GGoooodd LLuucckk!!•・ @@ttoommmmmmmmyy•・ ffaacceebbooookk :: 秋葉ちひろ•・ 次回は99//2200(木)@GGMMOOさん

×