機能は似ていますが、ドローアブルとレイアウトが異なる 2 つの Android アプリケーションがあります。
すべてのコードとリソースをライブラリ プロジェクトに配置し、そのライブラリを参照する 2 つのアプリケーションのドローアブルとレイアウトの一部をオーバーライドしたいと考えています。
ライブラリを参照するアプリケーションを作成しました。すべてのリソースをライブラリからアプリケーションにコピーし、いくつかのドローアブルを変更しました。文字列リソースの一部も変更しました。Eclipse のレイアウト エディターで変更されたレイアウトの 1 つを表示すると、オーバーライドされた正しいイメージが表示されます。
アプリケーションを起動すると、アプリケーションで変更した文字列リソースが正しく表示されます (ライブラリ文字列はアプリケーションのリソースによってオーバーライドされます) が、私ImageView
の s のドローアブルはすべてライブラリのリソースから取得されます。
また、いくつかのレイアウト リソースに変更を加えました (いくつかの画像の移動とサイズ変更)。変更されたレイアウトを使用するアクティビティ (ソース コードがライブラリにあるアクティビティ) を起動すると、新しい (アプリケーション) レイアウトと古い (ライブラリ) ドローアブルが表示されます。
sのドローアブルをImageView
2 つの方法で定義しようとしました。
レイアウト xml で:
android:src="@drawable/image_id"
アクティビティのコード:
ImageView view = (ImageView)findViewById(R.id.viewId); view.setImageResource(R.drawable.image_id);
どちらの場合も、表示される画像は、アプリケーションではなくライブラリ プロジェクトのリソースから取得されたものです。
この問題を解決できなければ、両方のアプリケーションですべてのコードを複製する必要があり、残念です。
私は何か間違ったことをしていますか?