Skip to content

Most visited

Recently visited

navigation

リソースの概要

画像や文字列といったリソースは、常にアプリケーション コードの外部に置くようにすることで、独立して保持できるようになります。 さらに、リソースを外部化することで、言語や画面サイズが異なるような特定の端末構成をサポートする代替リソースを提供できるようになります。異なる構成を持つ Android ベースの端末が増えていることから、この外部化がますます重要になってきています。 異なる構成に互換性を持たせるには、リソースをタイプや構成ごとにグループ化するさまざまなサブディレクトリを使用して、プロジェクトの res/ ディレクトリ内でリソースを整理する必要があります。

図 1. 2 つの異なる端末でデフォルト レイアウトを使用(アプリによる代替レイアウトの提供なし)。

図 2. 2 つの異なる端末で違う画面サイズ用のレイアウトを使用。

すべてのリソースタイプに対して、アプリケーションのデフォルト レイアウトと複数の代替リソースを指定できます。

たとえば、デフォルトの UI レイアウトが res/layout/ ディレクトリに保存してある場合、横向きの画面には別のレイアウトを使用するよう指定するには、そのレイアウトを res/layout-land/ ディレクトリに保存します。 Android は、現在の端末の構成とリソースのディレクトリ名をマッチングさせ、適切なリソースを自動的に適用します。

図 1 は、代替リソースがない場合に、システムが 2 つの異なる端末に同じレイアウトを適用する様子を表しています。 図 2 は、大きい画面の代替レイアウト リソースを追加した場合の、レイアウトの適用の様子を表しています。

次のドキュメントには、アプリケーション リソースの整理、代替リソースの指定、アプリケーションでのアクセスなどに関する情報が詳細に記載されています。

リソースの提供
アプリで提供可能なリソースの種類、保存場所、特定の端末構成用の代替リソースの作成方法。
リソースへのアクセス
アプリケーション コードまたは他の XML リソースからの参照による、提供済みリソースの使用方法。
実行時の変更の処理
アクティビティの実行中に生じた構成の変更の管理方法。
ローカライズ
代替リソースを使用したアプリケーションのローカライズのためのボトムアップ ガイド。代替リソースの特定の使用方法を 1 つだけ解説していますが、複数のユーザーが利用する場合には非常に重要になります。
複雑な XML リソース
AnimatedVectorDrawable のような複雑なリソースを 1 つの XML ファイル内に作成するための XML フォーマット。
リソースのタイプ
提供可能な各種リソースタイプのリファレンス。XML 要素、属性、構文について説明しています。 たとえば、このリファレンスには、アプリケーション メニュー、ドローアブル、アニメーションなどの作成方法が記載されています。
This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience.
(Sep 2017 survey)