Androidアプリケーションリソース---他のリソースタイプ(More Types)(二)
Dimension型資源
XMLのサイズ値を指定します.サイズのある単位の数字です.例えば、10 px、2 in、5 sp.以下はAndroidシステムがサポートするサイズの単位です.
dp
密度に依存しないピクセルは、画面の物理密度に基づく抽象的な単位です.160 dpi(1インチあたりの点数)の画面に対して、1 dpあたりはほぼ1 pxに等しい.高密度スクリーンで動作すると、1 dpを描画する画素数は画面のdpiの要求に応じて拡大されます.同様に、低密度スクリーンでは、1 dpの画素も縮小される.dpからpixelへの変換比率は画面の密度によって変わるが、必ずしも正比例ではない.dpを単位として使う(px単位の代わりに)簡単なソリューションであり、異なる画面密度に対してレイアウト中のViewオブジェクトを正確に調整することができる.言い換えれば、UI要素の実際のサイズは、異なるデバイスでの一貫性を提供する.
sp
サイズに関係のないピクセルはdp単位に似ていますが、ユーザーのフォントサイズに合わせて選択してスケーリングします.画面の密度とユーザの選択に対して文字を調整できるようにフォントのサイズを指定することを推奨します.
pt
画面の物理サイズに基づいて、1/72インチの点数を決めます.
px
ピクセルは、スクリーン上の実際のピクセルに対応します.このサイズの単位は推奨されていません.実際には様々なデバイスに適応するため、各デバイスのピクセル数はそれぞれ違っていてもよく、スクリーン上ではより多くのピクセルまたはより少ないピクセルが利用可能です.
mm
ミリ、スクリーンの物理サイズに基づいています.
in
画面の物理サイズに基づいています.
サイズリソースは簡単なリソースであり、name属性が提供する値を使用してこのリソースを参照することができます.例えば、サイズリソースを他の簡単なリソースと組み合わせることができます.
ファイル位置(FILE LOCATION):
res/values/filename.xml
ファイル名は任意であり、<dimen>要素のname属性値はリソースIDに使用される.
リソース参照(RESOURCE REFERENCE):
Javaコードの中で:R.dimen.dimension_name
XMLにおいて:@[package:]dimen/dimension_name
構文(SYNTAX):
ディメンション
要素(ELIEMENTS):
<レスポンス>
必要なのは、ルートノードでなければなりません.属性がありません
<dimen>
サイズ値を定義して、サイズ単位(dp、sp、pt、px、mm、in)の浮動小数点で表します.
属性(ATTRIBUTES):
name
文字列値は、このサイズの名前を定義し、属性値をリソースのIDとして使用します.
例(EXAMPLE):
次のXMLはレスポンス/values/dimens.xmlに保存されています.
<ディメンname=「font usize」16 sp
アプリケーションコードがサイズリソースを取得する方法は以下の通りです.
Resource res=
レイアウトXMLでサイズ属性を設定する方法は以下の通りです.
<TextView android:layout_height=「@dimen/textview弿」 android:layout_width=「@dimen/textview width」 android:textSize=「@dimen/font size」/>
ID型リソース
XMLで定義されている固有のリソースID.「item」要素で提供される名前を使用して、Android開発ツールはプロジェクトのR.javaクラスにおいて一意の整数を作成し、この整数を使用してアプリケーションリソース(例えばUIレイアウト中のViewオブジェクト)を識別したり、アプリケーションコードで使用される一意の整数(例えば、ダイアログまたは結果コードID)を識別したりすることができます.
IDリソースは簡単なリソースであり、name属性が提供する値を使用してリソースを参照する.例えば、IDリソースを他の簡単なリソースと一つのXMLファイルの<resource>要素に組み合わせることができる.また、IDリソースは実際のリソース項目を参照しないで、他のリソースと一意のIDを結びつけることができます.またはプログラムで使用される唯一の整数です.
ファイル位置(FILE LOCATION):
res/values/filename.xml
ファイル名は任意です.
リソース参照(RESOURCE REFERENCE):
Javaコードの中で:R.id.name
XMLにおいて:@[package:]id/name
構文(SYNTAX):
要素(ELIEMENTS):
<レスポンス>
必要なのは、ルートノードであり、属性がないということです.
<アイテム>
一意IDを定義します.値は必要ありません.
属性(ATTRIBUTES):
type:必ず「id」に設定してください.
name:文字列の値はIDに一意の名前を定義します.
例(EXAMPLE):
以下のXMLはレスポンス/values/ids.xmlファイルに保存されています.
以下はブットンですokのIDリソースをレイアウトの一つのButtonコントロールに設定する方法:
<Button android:id=「@id/buttonmook」 style=「@style/buttonyle」/>
なお、Android:id属性の値は、IDリソースを参照する際に「+」が含まれていません.このIDは既に存在していますので、IDs.xmlファイルで定義されています.(「+」を使用してリソースIDを指定すると、例えば、android=」@+id/nameといったように、このIDが存在しないことを意味し、このリソースに新しいIDを作成するべきです.)
以下の例では、コード使用中に「dialog_uexit」IDを使用して、ダイアログを一意に識別する.
以下のコードは「dialog_uexit」IDを比較してダイアログを作成します.
protected DialogonCreateDialog(int)(int id){ Dialog dialog; switch(id){ case R.id.dialog xit: ... break; default: dialog=null; } return dialog;
XMLのサイズ値を指定します.サイズのある単位の数字です.例えば、10 px、2 in、5 sp.以下はAndroidシステムがサポートするサイズの単位です.
dp
密度に依存しないピクセルは、画面の物理密度に基づく抽象的な単位です.160 dpi(1インチあたりの点数)の画面に対して、1 dpあたりはほぼ1 pxに等しい.高密度スクリーンで動作すると、1 dpを描画する画素数は画面のdpiの要求に応じて拡大されます.同様に、低密度スクリーンでは、1 dpの画素も縮小される.dpからpixelへの変換比率は画面の密度によって変わるが、必ずしも正比例ではない.dpを単位として使う(px単位の代わりに)簡単なソリューションであり、異なる画面密度に対してレイアウト中のViewオブジェクトを正確に調整することができる.言い換えれば、UI要素の実際のサイズは、異なるデバイスでの一貫性を提供する.
sp
サイズに関係のないピクセルはdp単位に似ていますが、ユーザーのフォントサイズに合わせて選択してスケーリングします.画面の密度とユーザの選択に対して文字を調整できるようにフォントのサイズを指定することを推奨します.
pt
画面の物理サイズに基づいて、1/72インチの点数を決めます.
px
ピクセルは、スクリーン上の実際のピクセルに対応します.このサイズの単位は推奨されていません.実際には様々なデバイスに適応するため、各デバイスのピクセル数はそれぞれ違っていてもよく、スクリーン上ではより多くのピクセルまたはより少ないピクセルが利用可能です.
mm
ミリ、スクリーンの物理サイズに基づいています.
in
画面の物理サイズに基づいています.
サイズリソースは簡単なリソースであり、name属性が提供する値を使用してこのリソースを参照することができます.例えば、サイズリソースを他の簡単なリソースと組み合わせることができます.
ファイル位置(FILE LOCATION):
res/values/filename.xml
ファイル名は任意であり、<dimen>要素のname属性値はリソースIDに使用される.
リソース参照(RESOURCE REFERENCE):
Javaコードの中で:R.dimen.dimension_name
XMLにおいて:@[package:]dimen/dimension_name
構文(SYNTAX):
ディメンション
要素(ELIEMENTS):
<レスポンス>
必要なのは、ルートノードでなければなりません.属性がありません
<dimen>
サイズ値を定義して、サイズ単位(dp、sp、pt、px、mm、in)の浮動小数点で表します.
属性(ATTRIBUTES):
name
文字列値は、このサイズの名前を定義し、属性値をリソースのIDとして使用します.
例(EXAMPLE):
次のXMLはレスポンス/values/dimens.xmlに保存されています.
アプリケーションコードがサイズリソースを取得する方法は以下の通りです.
Resource res=
getResources()
;float fontSize=res.getDimension
(R.dimen.font size)レイアウトXMLでサイズ属性を設定する方法は以下の通りです.
<TextView android:layout_height=「@dimen/textview弿」 android:layout_width=「@dimen/textview width」 android:textSize=「@dimen/font size」/>
ID型リソース
XMLで定義されている固有のリソースID.「item」要素で提供される名前を使用して、Android開発ツールはプロジェクトのR.javaクラスにおいて一意の整数を作成し、この整数を使用してアプリケーションリソース(例えばUIレイアウト中のViewオブジェクト)を識別したり、アプリケーションコードで使用される一意の整数(例えば、ダイアログまたは結果コードID)を識別したりすることができます.
IDリソースは簡単なリソースであり、name属性が提供する値を使用してリソースを参照する.例えば、IDリソースを他の簡単なリソースと一つのXMLファイルの<resource>要素に組み合わせることができる.また、IDリソースは実際のリソース項目を参照しないで、他のリソースと一意のIDを結びつけることができます.またはプログラムで使用される唯一の整数です.
ファイル位置(FILE LOCATION):
res/values/filename.xml
ファイル名は任意です.
リソース参照(RESOURCE REFERENCE):
Javaコードの中で:R.id.name
XMLにおいて:@[package:]id/name
構文(SYNTAX):
要素(ELIEMENTS):
<レスポンス>
必要なのは、ルートノードであり、属性がないということです.
<アイテム>
一意IDを定義します.値は必要ありません.
属性(ATTRIBUTES):
type:必ず「id」に設定してください.
name:文字列の値はIDに一意の名前を定義します.
例(EXAMPLE):
以下のXMLはレスポンス/values/ids.xmlファイルに保存されています.
以下はブットンですokのIDリソースをレイアウトの一つのButtonコントロールに設定する方法:
<Button android:id=「@id/buttonmook」 style=「@style/buttonyle」/>
なお、Android:id属性の値は、IDリソースを参照する際に「+」が含まれていません.このIDは既に存在していますので、IDs.xmlファイルで定義されています.(「+」を使用してリソースIDを指定すると、例えば、android=」@+id/nameといったように、このIDが存在しないことを意味し、このリソースに新しいIDを作成するべきです.)
以下の例では、コード使用中に「dialog_uexit」IDを使用して、ダイアログを一意に識別する.
showDialog
(R.id.dialog xit)以下のコードは「dialog_uexit」IDを比較してダイアログを作成します.
protected DialogonCreateDialog(int)(int id){ Dialog dialog; switch(id){ case R.id.dialog xit: ... break; default: dialog=null; } return dialog;