0

ライブラリとしてAndroidプロジェクトがあり、このライブラリにはホーム画面が含まれています。新しいアプリには、このホーム画面 (およびライブラリ内の他のすべてのもの) が必要ですが、すべてのグラフィックを変更し、いくつかの新しいボタンを追加する必要もあります。これを行うにはどうすればよいでしょうか?

ライブラリを編集したくありません。新しいアプリにライブラリと同じ名前の画像を持たせることができるので、新しい画像がライブラリの画像を上書きします。しかし、これは、レイアウトに 3 つの新しいボタンを追加したり、アクティビティに新しい機能を追加したりするのに役立ちません (古い機能をすべて保持しながら)。

この種のことを経験した人はいますか?

4

1 に答える 1

1

home screenライブラリからアクティビティを拡張します。オーバーライドonCreate(Bundle):

public class NewMainActivity extends HomeScreenActivityFromLibrary {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        View viewFromLibrary = getLayoutInflater().inflate(
                                      library.package.name.R.layout.home_screen, null);

        // Make changes; add Buttons to `viewFromLibrary`
        // Add functionality to Buttons; setOnClickListeners

        setContentView(viewFromLibrary);
    }
}

セットアップ方法によってHomeScreenActivityFromLibraryは、追加のメソッドをオーバーライドする必要がある場合があります。HomeScreenActivityFromLibraryもう 1 つの方法として、で使用したレイアウト ファイルをプロジェクトのres/layoutフォルダーにコピーするだけです。xml ファイルに追加のウィジェット (ボタンなど) を追加します。この場合、必要なことは次のとおりです。

public class NewMainActivity extends HomeScreenActivityFromLibrary {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.newly_created_xml_file);

        Button b1 = (Button) findViewById(R.id.b1_id);
        ....
        ....
    }
}
于 2013-08-22T17:39:21.847 に答える