フォルダ | 説明 | 利用例 | |
res/values/ | 色(Color) #RGB #ARGB #RRGGBB #AARRGGBB | XML定義 | <color name="color_red">#FF0000</color> <color name="color_red_alpha">#33FF0000</color> |
XML指定 | <TextView android:textColor="@color/color_red"> | ||
Java利用 | int color=getResources().getColor(R.color.color_red); | ||
寸法 1px/1in/1mm 1pt/1dp/1sp | XML定義 | <dimen name="one_pixel">1px</dimen> <dimen name="double_density">2dp</dimen> <dimen name="sixteen_sp">16sp</dimen> | |
XML利用 | <TextView android:textSize="@dimen/sixteen_sp"/> | ||
Java利用 | float dim=getResources().getDimension(R.dimen.one_pixel); | ||
色(ColorDrawable) #RGB #ARGB #RRGGBB #AARRGGBB | XML定義 | <drawable name="color_red">#FF0000</drawable> <drawable name="color_red_alpha">#33FF0000</drawable> | |
XML利用 | <TextView android:background="@drawable/color_red"/> | ||
Java利用 | Drawable drawable = Resources.getDrawable(R.drawable.color_red); | ||
文字列 | XML定義 | <string name="string_text">Hoge</string> <string name="string_html"><b>Hoge</b></string> | |
XML利用 | <TextView android:text="@string/string_text"/> | ||
Java利用 | CharSequence str=getString(R.string.string_text); | ||
テーマ/スタイル | XML定義 | <style name="Theme.MyTheme" parent="android:Theme"> <item name="android:windowNoTitle">true</item> </style> | |
XML利用 | <application android:theme="@style/Theme.MyTheme"> | ||
<activity android:theme="@android:style/Theme.MyTheme"> | |||
Java利用 | setTheme(R.style.Theme_MyTheme); | ||
res/drawable/ | ビットマップ | ファイル種別 | Bitmap(*.bmp) JPEG(*.jpg) PNG(*.png) GIF(*.gif) |
XML利用 | <TextView android:background="@drawable/hoge"/> | ||
Java利用 | button.setBackgroundResource(R.drawable.hoge); | ||
ナインパッチ | ファイル種別 | Nine-Patch(*.9.png) | |
XML利用 | <TextView android:background="@drawable/hoge"/> | ||
Java利用 | button.setBackgroundResource(R.drawable.hoge); | ||
res/layout/ | レイアウト | ファイル種別 | XML(*.xml) |
Java利用 | setContentView(R.layout.hoge); | ||
res/anim/ | アニメーション | XML定義 | <?xml version="1.0" encoding="utf-8"?> <scale android:fromYScale="1.0" android:toYScale="0.5" android:duration="500" /> |
XML利用 | <style name="Animation.Activity" parent="android:Animation"> <item name="android:activityOpenEnterAnimation">@anim/activity_open_enter</item> <item name="android:activityOpenExitAnimation">@anim/activity_open_exit</item> <item name="android:activityCloseEnterAnimation">@anim/activity_close_enter</item> <item name="android:activityCloseExitAnimation">@anim/activity_close_exit</item> </style> <style name="MyTheme" parent="android:Theme"> <item name="android:windowAnimationStyle">@style/Animation.Activity</item> </style> | ||
Java利用 | Animation animation=AnimationUtils.loadAnimation(this,R.anim.spin); | ||
res/raw/ | バイナリ | ファイル種別 | 制限なし |
Java利用 | MediaPlayer player=MediaPlayer.create(this,R.raw.hoge); | ||
InputStream in=getResources().openRawResource(R.raw.hoge); | |||
res/xml/ | XML | ファイル種別 | XML(*.xml) |
Java利用 | XMLResourceParser parser=getResources().getXML(R.xml.some_xml); |
リソース条件
リソース条件 | 設定値 | 説明 |
MCC(Mobile Country Code)と MNC(Mobile Network Code) | -mcc310 | USのみ |
-mcc310-mc004 | USのVerizon | |
言語(ISO 639-1)と リージョン(ISO3166-1-alpha-2) | -jp | 日本語設定時 |
-en | 英語設定時 | |
-en-rUS | 英語(US)設定時 | |
画面縦横で短い方の寸法 (smallWidth) | -sw600dp | 画面縦横で短い方の寸法が600dp (7インチタブレット) |
-sw720dp | 画面縦横で短い方の寸法が720dp (10インチタブレット) | |
利用可能な画面幅 | -w720dp | 720dpの画面幅が利用可能 |
利用可能な画面高さ | -h720dp | 720dpの画面高さが利用可能 |
画面サイズ | -small | 小さい画面サイズ端末向け (最小320x426dp) |
-normal | 通常の画面サイズ端末向け(最小320x470dp) | |
-large | 大きい画面サイズ端末向け(最小480x640dp) | |
-xlarge | さらに大きい画面サイズ端末向け(最小720x960dp) | |
アスペクト比 | -long | 長いスクリーン (WQVGA/WVGA/FWVGA) |
-notlong | 長くないスクリーン (QVGA/HVGA/VGA) | |
画面向き | -portrait | 縦向き時 (vertical) |
-land | 横向き時 (horizontal) | |
ドックモード | -car | カードック接続時 |
-desk | デスクドック接続時 | |
夜モード | -night | 夜 |
-notnight | 日中 | |
dpi | -npdpi | dpiに関係しない |
-ldpi | 約120dpiの端末向け(density=0.75) | |
-mdpi | 約160dpiの端末向け(density=1.0) | |
-hdpi | 約240dpiの端末向け(density=1.5) | |
-xhdpi | 約320dpiの端末向け(density=2.0) | |
-tvdpi | 約213dpiの端末向け(density=1.3312501) | |
タッチスクリーン種別 | -notouch | タッチなし |
-stylus | スタイラス | |
-finger | 指 | |
キーボード種別 | -keysexposed | ハードウェアキーボード利用可能 ソフトウェアキーボード利用可能 |
-keyshidden | ハードウェアキーボード利用可能 ソフトウェアキーボード利用不可能 | |
-keyssoft | ソフトウェアキーボード利用可能 | |
テキスト入力方法 | -nokeys | ハードウェアキーなし |
-qwerty | ハードウェアのQwertyキーボード | |
-12keys | ハードウェアの12キーキーボード | |
ナビゲーションキー種別 | -navexposed | ナビゲーションキー利用可能 |
-navhidden | ナビゲーションキー利用不可能 | |
主な非ナビゲーション種別 | -nonav | なし |
-dpad | デジタルパッド | |
-trackball | トラックボール | |
-wheel | ホイール | |
APIレベル | -v4 | API Level 4 |
-v15 | API Level 15 | |
画面サイズ(ドット指定) | -800x480 | 画面サイズ800x480pxの端末向け |
-1024x720 | 画面サイズ1024x720pxの端末向け |
アセット
フォルダ | 説明 | 設定値 | 利用例 |
asetts/ | アセット | HTML/HTMLリソース フォントなど | webView.loadUrl("file:///android_asset/call.html"); |
アイコンサイズ
拡張高解像度(xhdpi) | 高解像度(hdpi) | 中解像度(mdpi) | 低解像度(ldpi) | 対象 | ||
大アイコン | 最大サイズ | 96x96px | 72x72px | 48x48px | 36x36px | ランチャー メニュー |
推奨サイズ | 60x60px | 40x40px | 30x30px | |||
矩形サイズ | 56x56px | 38x38px | 28x28px | |||
小アイコン | 最大サイズ | 72x72px | 48x48px | 32x32px | 24x24px | ステータスバー タブ ダイアログ リストビュー |
エミュレータのスクリーンサイズ
低解像度(ldpi) | 中解像度(mdpi) | 高解像度(hdpi) | 拡張高解像度(xhdpi) | |
小画面(small) | QVGA(240x320) | - | 480x640 | - |
中画面(normal) | WQVGA400(240x400) WQVGA432(240x432) | HVGA(320x480) | WVGA800(480x800) WVGA854(480x854) 600x1024 | 640x960 |
大画面(large) | WVGA800**(480x800) WVGA854**(480x854) | WVGA800*(480x800) WVGA854*(480x854) 600x1024 | - | - |
拡張大画面(xlarge) | 1024x600 | WXGA(1280x800) 1024x768 1280x768 | 1536x1152 1920x1152 1920x1200 | 2048x1536 2560x1536 2560x1600 |
Dimension単位
Dimesion単位 | 説明 | 計算 | |
dp(dip) | Density-independent Pixels | 画面解像度に基づいた抽象的な単位 | 1dpあたりのピクセル数 context.getResources().getDisplayMetrics().density pixel=desity*dip; dip=pixel/desity; Nexus Oneはdensityが1.5で480px=320dp |
sp | Scale-independent Pixels | 画面解像度とユーザーが指定した フォントサイズに基づいた抽象的な単位 | - |
px | Pixels | 画面のピクセル数 | - |
mm | Millimeters | 画面の物理サイズのミリメートル | - |
in | Inches | 画面の物理サイズのインチ (1インチ=25.4ミリメートル) | - |
pt | Points | 画面の物理サイズの1/72インチ (1ポイント=0.352ミリメートル) | - |
コアメディアフォーマット
種別 | フォーマット/コーデック | エンコーダ | デコーダ | 詳細 | サポートファイル |
オーディオ | AAC LC/LTP | ◯ | ◯ | モノラル/ステレオ 最高160Kbps サンプリングレート8~48kHz | 3GPP (.3gp) MPEG-4 (.mp4, .m4a) ADTS raw AAC (.aac) デコード(Android 3.1+) エンコード(Android 4.0+) ADIF非サポート MPEG-TS (.ts)(Android 3.0+) シーク不可 |
HE-AACv1 (AAC+) | - | ◯ | |||
HE-AACv2 (enhanced AAC+) | - | ◯ | |||
AMR-NB | ◯ | ◯ | 4.75~12.2Kbps サンプリングレート8kHz | 3GPP(.3gp) | |
AMR-WB | ◯ | ◯ | 6.60~23.85Kbps サンプリングレート16kHz | 3GPP(.3gp) | |
FLAC | - | ◯(Android 3.1+) | モノラル/ステレオ(マルチチャンネル不可) サンプリングレート48kHz 16-bit推奨 24-bitのディザは適用されない | FLAC(.flac) | |
MP3 | - | ◯ | Mono/Stereo 8-320Kbps(CBR) またはvariable bit-rate (VBR) | MP3(.mp3) | |
MIDI | - | ◯ | MIDI Type 0 and 1. DLS Version 1 and 2 XMF,Mobile XMF RTTTL/RTX,OTA,iMelody | Type 0 and 1(.mid,.xmf,.mxmf) RTTTL/RTX(.rtttl,.rtx) OTA(.ota) iMelody(.imy) | |
Vorbis | - | ◯ | - | Ogg(.ogg) Matroska(.mkv)(Android 4.0+) | |
PCM/WAVE | - | ◯ | 8- and 16-bit linear PCM | WAVE(.wav) | |
イメージ | JPEG | ◯ | ◯ | Base+progressive | JPEG(.jpg) |
GIF | - | ◯ | - | GIF(.gif) | |
PNG | ◯ | ◯ | - | PNG(.png) | |
BMP | - | ◯ | - | BMP(.bmp) | |
WEBP | ◯(Android 4.0+) | ◯(Android 4.0+) | - | WebP(.webp) | |
ビデオ | H.263 | ◯ | ◯ | - | 3GPP(.3gp) MPEG-4(.mp4) |
H.264 AVC | ◯(Android 3.0+) | ◯ | Baseline Profile (BP) | 3GPP(.3gp) MPEG-4(.mp4) MPEG-TS(.ts)(Android 3.0+) ACCのみ シーク不可 | |
MPEG-4 SP | - | ◯ | - | 3GPP(.3gp) | |
VP8 | - | ◯(Android 2.3.3+) | ストリーミング(Android 4.0+) | WebM(.webm) Matroska(.mkv)(Android 4.0+) |
スタイルとテーマ
項目名 | 説明 | デフォルト |
スタイル | レイアウトのXMLファイル(複数の場合あり)で1要素に適用する属性郡。 | styles.xml |
テーマ | アプリ全体または1アクティビティに適用する属性群。
| themes.xml |
背景透明テーマ
利用例 | |
values/styles.xml -背景透明 -タイトルバーなし -タイトルバー影なし | <?xml version="1.0" encoding="utf-8"?> <resources> <drawable name="transparent_color">#00000000</drawable> <style name="Theme.Transparent" parent="android:Theme"> <item name="android:windowIsTranslucent">true</item> <item name="android:windowBackground">@drawable/transparent_color</item> <item name="android:windowNoTitle">true</item> <item name="android:windowContentOverlay">@null</item> </style> </resources> |
AndroidManifest.xml | <activity android:name=".Test" android:label="@string/app_name" android:theme="@style/Theme.Transparent"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> |
コメント