▼Androidメモ▼
リソースとアセット


リソース
フォルダ 説明 利用例
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 画面縦横で短い方の寸法が600dp以上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アクティビティに適用する属性群。
  • Theme
  • Theme.Black
  • Theme.Black.NoTitleBar
  • Theme.Black.NoTitleBar.Fullscreen
  • Theme.Dialog
  • Theme.Dialog.Alert
  • Theme.Dialog.AppError
  • Theme.Dialog.RecentApplications
  • Theme.ExpandedMenu
  • Theme.GlobalSearchBar
  • Theme.IconMenu
  • Theme.InputMethod
  • Theme.Light
  • Theme.Light.NoTitleBar
  • Theme.Light.NoTitleBar.Fullscreen
  • Theme.Light.Panel
  • Theme.Light.WallpaperSettings
  • Theme.NoDisplay
  • Theme.NoTitleBar
  • Theme.NoTitleBar.Fullscreen
  • Theme.Panel
  • Theme.SearchBar
  • Theme.Translucent
  • Theme.Translucent.NoTitleBar
  • Theme.Translucent.NoTitleBar.Fullscreen
  • Theme.Wallpaper
  • Theme.Wallpaper.NoTitleBar
  • Theme.Wallpaper.NoTitleBar.Fullscreen
  • Theme.WallpaperSettings
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>
<item name="android:windowAnimationStyle">@style/Animation.Activity</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>

 

−戻る−