概要:
Androidアプリケーションには、画像、テキスト、スタイル、レイアウトなど、多くのリソースファイルが含まれます。このブログでは、主にAndroidのresディレクトリにあるリソースファイルへのアクセスを記録しています。
通常、resディレクトリには、anim、animation、drawable、mipmap、layout、menu、raw、values、およびその他のサブディレクトリがあります。私はこれらのファイルディレクトリがAndroid開発者によく知られていると思います。以下にまとめましょう
これらのファイルの具体的なアクセス方法と注意が必要な点について、なぜこのように使用する必要があるのかをより明確にお知らせください。
Android開発では、これらのリソースファイルがよく使用されます。ほとんどのファイルはR. <resourceType>。<filename>を介する必要があります。このRは、アプリケーションのコンパイル時にaaptによって自動的に生成されます。このRファイルの場所は、app / build / intermediates / classes / <packagename> /R.classです。 。
あなたはできる静的クラスと静的定数として存在する、解像度の下のリソースはすべてR.classであることがわかります。これらのリソースを使用するときは、このRクラスアプリケーションを使用します。
リソースにアクセスするには2つの方法があります。
1. Javaコードで使用:R.drawable.abc_ab_share_pack_mtrl_alpha これは、このabc_ab_share_pack_mtrl_alphaリソースファイルに適用できます。
2. XMLファイルのアプリケーション : @ drawable / abc_ab_share_pack_mtrl_alpha
使用例:ImageViewの画像を設定する
ImageView imageView =(ImageView)findViewById(R.id。imageView); imageView.setImageResource(R.drawable。app_logo);
文法:
[ <package_name>。] R。<resource_type>。<resource_name>
<package_name>:パッケージ名を示します。アプリケーションリソースが独自のリソースパッケージに由来する場合は、必須ではありません。
<resource_type>:Rサブタイプを示します。
<resource_name>:リソースファイル名。
リソースIDパラメータを受け入れるメソッドは多数ありResources
、メソッドをで使用してリソースを取得できます 。あなたはできるContext.getResources()
取得 を通じてResources
インスタンス。
コードでリソースにアクセスする例:
//描画可能なリソースから現在の画面の背景を読み込みます。(R 。描画可能。my_background_image)。// このメソッドはリソースIDではなくCharSequenceを必要とするため、Resourcesオブジェクトから文字列を取得して、アクティビティのタイトルを設定します。(getResources ()。 (R 。ストリング。main_title))。//現在の画面のカスタムレイアウトをロード(R 。レイアウト。main_screen)。// Resourcesオブジェクトからアニメーションを取得して、スライドをアニメーションに設定しますgetWindow()
setBackgroundDrawableResource
getWindow()
setTitle
getText
setContentView
mFlipper 。setInAnimation
(AnimationUtils 。loadAnimation (この、R 。アニメーション。hyperspace_in))。//リソースセットID使用のTextViewオブジェクト上のテキストのTextView msgTextViewを= (のTextView )findViewById (R 。ID 。MSG)。 msgTextView 。(R 。ストリング。hello_message)。setText
XMLでリソースにアクセス:
<TextView android :layout_width = "wrap_content" android :layout_height = "wrap_content" android :text = "@ string / hello" />
構文:
@ [ <package_name>:] <resource_type> / <resource_name>
<package_name>:パッケージ名。同じパッケージ内のリソースは必要ありません。
<resource_type>:Rのサブタイプ。
<resource_name>:ファイル名。
参照システムリソース:
<TextView android :layout_width = "wrap_content" android :layout_height = "wrap_content" android :textColor = "@android:color / secondary_text_dark_nodisable" />
参照スタイル:
?[ < package_name >:] [ < resource_type > /] < resource_name >
これらのパラメーターは、@が次のように置き換えられることを除いて、上記と同じです。
<TextView android :layout_width = "wrap_content" android :layout_height = "wrap_content" android :textColor = "?android:textColorSecondary" />
プラットフォームリソースへのアクセス:
Androidには、スタイル、スタイルテーマ、レイアウトなど、多くの標準リソースが含まれています。これらのリソースにアクセス するには、リソース参照をパッケージ名で android
修飾します。たとえば、Androidを追加できます
提供されるレイアウトリソースは 、次のリストアイテムに使用さ ListAdapter
れます。
setListAdapter
(新しい< ストリング>(この、アンドロイド。R 。レイアウト。simple_list_item_1、myarrayの))。ArrayAdapter
アンドロイド。R 。レイアウト。simple_list_item_1 これは、リストビュー定義レイアウトリソースがプラットフォームをアンドロイドです。
resディレクトリのリソースアクセスは、これらのことに関するものです。次に、リソースのタイプを記述します