17

Androidライブラリプロジェクトと再利用可能なドローアブルリソースがあります。
パッケージ名を次com.vijay.mylib;

のようにするとします。メインプロジェクトがあり、上記のライブラリプロジェクトを使用します。
そのパッケージ名が次のようになっているとしましょう:com.vijay.myproject

ライブラリプロジェクトをメインプロジェクトに正しくリンクしたと考えてください。

私のメインプロジェクトには、main.xmlというレイアウトがあります。main.xmlで描画可能なROMライブラリプロジェクトを使用したいと思います。どうすればxmlでそれを行うことができますか?
「@drawable/myImage」のような通常の方法で参照することは私にとってはうまくいきませんでした。レファレンスチューザーウィンドウには、メインプロジェクトからのドローアブルのみが表示されます。図書館プロジェクトからではありません。

(注:両方のプロジェクトにはR.javaのパッケージが異なります。これで何か関係がありますか?)

4

3 に答える 3

13

おそらく、ライブラリに独自の uri を追加し、それを使用してドローアブルを参照する必要があります。

xmlns:vijay="http://schemas.android.com/apk/res/com.vijay.mylib"

次に、次を使用して drawable にアクセスできるはずです

@vijay:drawable/myImage
于 2011-06-05T07:09:10.410 に答える
2

ライブラリプロジェクト(libプロジェクト)とアプリケーションプロジェクト(appプロジェクト)の間でどのドローアブルリソースが使用されているかを判断する最良の方法は、次のように設計することです。

  1. デフォルトでは、アプリプロジェクトのドローアブルリソースは、同じ名前のlibプロジェクトのドローアブルリソースの使用に優先します。したがって、libプロジェクトリソースが使用されていることを確認する最善の方法は、アプリプロジェクトからリソースを完全に削除することです。

  2. 私が遭遇したもう1つの問題は、アプリプロジェクトのリソースを優先的に使用する場合は、アプリプロジェクトの描画可能なフォルダー名がライブラリプロジェクトのリソースフォルダー名と同じであることを確認することです。つまり、libプロジェクトのリソースがdrawable -mdpiにある場合は、アプリプロジェクトでもフォルダーがdrawable-mdpiと呼ばれていることを確認してください。

于 2012-05-24T23:27:04.683 に答える