Android Kotlin基礎講座 10.1:スタイルとテーマ

この講座について

この記事はAndroid Kotlin基礎講座の一部です。これ以外のAndroid Kotlin基礎講座(全10回)も一緒に受講することでAndroidアプリの開発手法、およびKotlinの基礎知識を学ぶことができます。全講座はAndroid Kotlin基礎講座にリスト化されていますので参考にしてください。

またこの記事ではGoogle Developers Training teamによってGoogle Codelabsに公開されているAndroid Kotlin Fundamentals courseを日本語に翻訳しつつ、筆者の考察も交えながら発信しています。オリジナルのサイト(英文)はこちら

イントロダクション

レッスン10の一連の記事ではAndroidアプリの開発における最も重要な側面の一つでもある、デザインについて解説していきます。アプリのデザインとはビュー、テキスト、ボタンやそれらが画面のどこに配置されているか、また色やフォントなどのことを意味します。ユーザーに次に何をするべきかを伝えるのもデザインの重要な役割の一つです。ユーザーが一目見ただけで、自分が何を見ているのか、何が重要なのか、そして何ができるのかを分かるようにしなければいけません。

下の二枚の画像を比較してみましょう。様々な要素をうまく配置することで、何が重要なのかに焦点を当て、ユーザーに何があるのかをわかりやすくすることができることが分かります。シンプルな画面の場合、良いデザインとはあまり多くのものを表示しないことを意味します。多くの重要な情報を含む画面の場合、良いデザインは情報のまとまりを作ることで、一目で理解できるようにします。Androidアプリを開発していくうちに、インフォメーションアーキテクチャ(IA)と呼ばれるこの概念を聞くことになると思います。

デザインにおける別の次元の話として、ユーザーがタスクを達成できるようにするために、まとまったユーザーフロー(またはユースケース)を構築することなどがあります。このデザイン様式はユーザーエクスペリエンスデザイン(UXD)と呼ばれ、これを専門にするデザイナーもいます。

もしデザイナーの知り合いなどがいない場合は、始めるにあたって以下のチップを参考にしてみてください。

  1. ユースケースの定義。ユーザーがそのアプリにおいて何を、どのように達成するのか。
  2. デザインの実装。初期の原案に執着しすぎないでください。原案は”最低限”くらいにしておきましょう。後に実際のユーザーがどのように感じるかを知った後で変更することが多いためです。
  3. フィードバックを得る。アプリをテストしてくれる人を探しましょう。家族、友人、またはGoogle Dreveloper Groupで出会った人々でも構いません。目の前で使ってもらって、詳細をメモしましょう。
  4. 洗練する。上記で得られた情報を基に、アプリをより良くし、再度テストしましょう。

以下はアプリのデザイン中に自身に問うべきその他の質問です。既に以前までの記事学習したテクニックです。

  • ユーザーが端末を回転させたときに、アプリの状態は失われるのか。
  • ユーザーがアプリを開いたときに何が起こるのか。ユーザーは読み込み中の回転を見ることになのか、それともオフラインキャッシュにデータを保存しておくのか。
  • 効率的な方法でコードが書かれているか、ユーザーのタッチにいつでも反応するようになっているか。
  • アプリは古くなったデータや間違ったデータをユーザーに表示するような方法でバックエンドシステムとやり取りしていないか。

大衆向けのアプリを作成する場合、アプリをできるだけ多くのタイプのユーザーが使えるようにすることが重要です。以下は例です。

  • 多くのユーザーは異なる方法でコンピューターシステムとやり取りします。
    色盲のユーザーも多くいるため、あるユーザーにとってはコントラストになっている色も、別のユーザーにはそう見えないかもしれません。
    老眼鏡が必要な人から失明まで、様々な視覚障害を抱えているユーザーがいます。
    タッチスクリーンが使えないユーザーもいます。そういったユーザーはスイッチなど、別のインプット方法で操作しています。

良いデザインとはユーザーがアプリを使うための最も重要な方法です。

この記事ではAndroid用のデザインの全てを教えきるにはあまりに短いですが、正しい方向に進んでいく手助けになることは間違いありません。その後は自身で学習、開発を続けていけるようになっているはずです。

前提知識

  • アクティビティ、フラグメントを使ってアプリを作成する方法。またデータを渡してフラグメント間を遷移させる方法。
  • ユーザーインターフェース(UI)をレイアウトするためのRecyclerViewを含むビューやビューグループの使い方。
  • ViewModelを含むアーキテクチャコンポーネントの使い方。
  • データバインディング、コルーチン、クリックの処理方法について。
  • インターネットへの接続方法とRoomデータベースを用いてデータをローカルにキャッシュする方法。
  • ビューのプロパティの設定方法。
  • XMLリソースファイルにリソースを抽出する方法と、そのリソースの使い方。

この講座で学べること

  • Androidのスタイリングシステムの基本
  • アプリをカスタマイズするための属性、スタイル、テーマの使い方

概要

  • ビューの属性、スタイル、テーマを用いてスターターアプリのデザインを改良する

完全無料で通えるプログラミングスクール

プログラミング学習はどうしても一人だとつまづいてしまう時がきます。調べればわかることも少なくないですが、最初のうちは調べ方もわからないことが多いため、あまり効率的ではありません。

効率的かつ挫折せずにプログラミングを学習したい方はスクールを検討してみるのも一つの手です。

中には無料で通えるスクールや、就職保証をしてくれるスクールなどもあるので、きっとあなたの目的に応じて最適のスクールが見つかります!以下の記事で評判がよく特におすすめのスクールをいくつかピックアップしているので、スクール選びで後悔したくない方は御覧ください!

https://codelabsjp.net/best-programming-school/