▼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");


画面サイズ
  比率 画面サイズ ランチャーアイコン アクションバーアイコン
ステータスバーアイコン
mdpi(160dpi) 1x 360x640px
320x480px
320x432pxなど
48x48px 24x24px
hdpi(240dpi) 1.5x 540x960px
480x800px
480x854pxなど
72x72px 36x36px
xhdpi(320dpi) 2x 720x1280px
640x960pxなど
96x96px

48x48px

xxhdpi(480dpi) 3x 1080x1920px 144x144px 72x72px

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

-背景透明
-コンテンツオーバーレイなし
-タイトルバーなし
-タイトルバー影なし
-アニメーションなし
<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:backgroundDimEnabled">false</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
</style>

</resources>
AndroidManifest.xml
<activity android:name=".Test"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

 

−戻る−