Mono Works

チラシのすきま

メモ:Material Theme(マテリアルテーマ)を使う

Mateiral Themeは、Android Lollipop以降、本格的に導入されたMaterial Designを実現するために用意された新しいテーマです。Android5.0(API level 21)より導入されましたが、まだまだAndroid4.x端末が多く残っているので、Material Themeを適用するには、従来機との互換性をもたせる必要があります。その方法は2つあるようですが、2番目の方法は自分にはまだ難しいので、1番目の方法を使ってサンプルを作ってみました。

  1. Android Lollipop以降の端末では、Mateiral Themeを使って、Android4.x端末ではHolo Themeを使う方法
  2. Android4.x端末では、サポートライブラリを使用して、Mateiral Themeっぽくする方法

※サポートライブラリは、Android APIで新しく追加された機能を古いレベルでも使用できるようにしれくれたり、諸々便利なものなんだそうです。

さて、新しいテーマと古いテーマを両立する方法ですが、テーマを規定するstyel.xmlを2つ用意して、それぞれのstyel.xmlファイルを置く場所を以下のように設定します。

Mateiral Theme用の配置 src > res > values-v21 > style.xml

Holo Theme用の配置 src > res > values > style.xml

Androidビューだと2つ並んで見えますが(v21)と付いているので区別できます。

androiddevmemo20150811_01

それぞれのstyel.xmlに記述する内容は以下のとおり。parent属性に適用したいテーマを指定します。parent(親)属性となっていることから分かるように、このスタイルを継承(一部変更したスタイルを設定)することができます。

Mateiral Theme用のstyle.xml

<resources>
    <style name="AppTheme" parent="android:Theme.Material.Light">
    </style>
</resources>

Holo Theme用のstyle.xml

<resources>
    <style name="AppTheme" parent="android:Theme.Holo.Light">
    </style>
</resources>

2.x以前はなかったことに(・∀・)♪

コメント

コメントなどありましたら、GitHubのディスカッションへお願いします。(書き込みには、GitHubのアカウントが必要です)
執筆者
"ぽぽろんち" @pporoch
pporoch120
Mono Worksの中の人。好きなことをつらつらと書き留めてます。
ギターを始めてから 練習動画をYouTubeにアップしてます。ご笑納ください。
"DQX@ぬここ(UD487-754)、コツメ(NO078-818)"
採用案内