liguofeng29’s blog

個人勉強用ブログだっす。

AndroidのResource - ほか諸々

Androidのリソースに含まれるもの。

1. オリジナルXML

  • @[<package_name>:]xml/file_name
  • [<package_name>.]R.xml.<file_name>

  • XmlResourceParser getXml(int id)

  • InputStream openRawResource(int id)

2. Layoutリソース XMLを使い画面レイアウトを定義する

3. Menuリソース XMLを使いメニューを定義する

4. StyleとThemeリソース

  • Sytle
    • Wordの書式のように、複数のスタイルをまとめて指定できる
    • /res/vlaues/配下に保存する
    • root要素は<resources.../>
    • 複数の<style.../>要素を含む
<?xml version="1.0" encoding="UTF-8"?>
<resources>
    <!-- フォントサイズと色 -->
    <style name="style1">
        <item name="android:textSize">20sp</item>
        <item name="android:textColor">#00d</item>
    </style>
    <!-- 前のStyleを継承 -->
    <style name="style2" parent="@style/style1">
        <item name="android:background">#ee6</item>
        <item name="android:padding">8dp</item>
        <!-- 上書き -->
        <item name="android:textColor">#000</item>
    </style>
    <style name="SampleTheme">
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowFrame">@drawable/window_border</item>
        <item name="android:windowBackground">@drawable/star</item>
    </style>
</resources>
  • Theme
    • Sytleを非常に似ているが違いは下記
      • 単一viewに指定できなく、アプリのすべてのActivityに適用される
      • Windowの外見を定義すべき
    • /res/vlaues/配下に保存する
    • root要素は<resources.../>
    • 複数の<style.../>要素を含む

Android5.0では、MaterialのThemeが追加されている

5. Attributeリソース

カスタムVIEWを作成した際に、属性を指定する際に使用する

  • /res/vlaues/配下に保存する
  • root要素は<resources.../>
  • attr子要素 : 属性定義
  • declare-sytleable子要素 : sytleableオブジェクトを定義

6. オリジナルリソース

音楽ファイルとか、動画ファイルとか

  • /res/raw/配下のリソースは、R.java
  • /assets/配下のリソースは、AssetManagerを使い管理する

7. 国際化対応

フォルダ名の使いわけで実現する。

valuesの場合 - フォルダー名 : values-言語コード-r 国コード - 例 : values-zh-rCN ,values-en-rUS

drawableの場合 - フォルダー名 : drawable-言語コード-r 国コード - 例 : drawable-zh-rCN , drawable-en-rUS