2011年10月21日金曜日

リソースとアセット

リソース

フォルダ

説明

利用例

res/values/

values-ja(
日本)

(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/

drawable-hdpi(120dpi)=240px
drawable-mdpi(160dpi)=320px
drawable-hdpi(240dpi)=480px
drawable-hdpi(320dpi)=460px
drawable-none(
なし)

drawable-land-hdpi(
-hdpi)
drawable-port-hdpi(
-hdpi)

drawable-480x320(480x320)

drawable-ja(
日本)

ビットマップ

ファイル種別

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/

layout-land(
)
layout-port(
)

レイアウト


ファイル種別

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



アセット

フォルダ

説明

設定値

利用例

asetts/

アセット

HTML/HTMLリソース
フォントなど

webView.loadUrl("file:///android_asset/call.html");

 

 

 


アイコンサイズ

 

高解像度(hdpi)

中解像度(mdpi)

低解像度(ldpi)

対象

大アイコン

最大サイズ

72x72px

48x48px

36x36px

ランチャー
メニュー

推奨サイズ

60x60px

40x40px

30x30px

矩形サイズ

56x56px

38x38px

28x28px

小アイコン

最大サイズ

48x48px

32x32px

24x24px

ステータスバー
タブ
ダイアログ
リストビュー


Dimension単位

Dimesion単位

説明

計算

dp(dip)

Density-independent Pixels

画面解像度に基づいた抽象的な単位

1dpあたりのピクセル数
context.getResources().getDisplayMetrics().density

pixel=desity*dip;
dip=pixel/desity;
Nexus One
density1.5480px=320dp

sp

Scale-independent Pixels

画面解像度とユーザーが指定した
フォントサイズに基づいた抽象的な単位

-

px

Pixels

画面のピクセル数

-

mm

Millimeters

画面の物理サイズのミリメートル

-

in

Inches

画面の物理サイズのインチ
(1
インチ=25.4ミリメートル)

-

pt

Points

画面の物理サイズの1/72インチ
(1
ポイント=0.352ミリメートル)

-


スタイルとテーマ 

項目名

説明

デフォルト

スタイル

レイアウトの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>
    </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>

 

0 件のコメント:

コメントを投稿