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リソース
<?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.../>要素を含む
- Sytleを非常に似ているが違いは下記
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