▼Androidメモ▼
リソースとアセット
リソース
フォルダ 説明 利用例 res/values/
色(Color)
#RGB
#ARGB
#RRGGBB
#AARRGGBBXML定義 <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/1spXML定義 <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
#AARRGGBBXML定義 <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)
600x1024640x960 大画面(large) WVGA800**(480x800)
WVGA854**(480x854)WVGA800*(480x800)
WVGA854*(480x854)
600x1024- -
拡張大画面(xlarge) 1024x600 WXGA(1280x800)
1024x768
1280x7681536x1152
1920x1152
1920x12002048x1536
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=320dpsp Scale-independent Pixels 画面解像度とユーザーが指定した
フォントサイズに基づいた抽象的な単位- px Pixels 画面のピクセル数 - mm Millimeters 画面の物理サイズのミリメートル - in Inches 画面の物理サイズのインチ
(1インチ=25.4ミリメートル)- pt Points 画面の物理サイズの1/72インチ
(1ポイント=0.352ミリメートル)-
コアメディアフォーマット
種別 フォーマット/コーデック エンコーダ デコーダ 詳細 サポートファイル オーディオ AAC LC/LTP ◯ ◯ モノラル/ステレオ
最高160Kbps
サンプリングレート8〜48kHz3GPP (.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
サンプリングレート8kHz3GPP(.3gp) AMR-WB ◯ ◯ 6.60〜23.85Kbps
サンプリングレート16kHz3GPP(.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,iMelodyType 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>
−戻る−