0

以前は多くの Flash Actionscript を実行していましたが、現在は Android に取り組んでいます。Android API に Actionscript の duplicateMovieClip() に似たものはありますか? おそらくそのようなメソッドを書く方法があると確信していますが、既存のショートカットがあるかどうか疑問に思っています。

たとえば、画面上に ImageView、TextView、またはその他の種類のビュー オブジェクトがあり、クリックして画面上のオブジェクトの複製を作成するボタンが必要だとします。

4

1 に答える 1

1

私の質問を気にしないのであれば、なぜ次のようなものが必要なのduplicateMovieClip()ですか?

質問に答えるために、Android には AS2 の概念がありませんduplicateMovieClip()。AS3 (これもありませんでしたduplicateMovieClip()) と同じように、独自の複製方法を実装する必要があります。Java には実装されていない '.clone()' メソッドがすべての Java オブジェクトの一部として含まれているため、複製したい特定のビューがある場合は、複製メソッドをオーバーライドすることで、そこで複製を実装できる可能性があります。

代わりに、xml で小さなビュー レイアウトを作成し、インフレータ ツールを使用してそれらを膨らませることで、ライブラリからインスタンス化することに似たようなことをすることになると思います。

View result = null;

// where pContext is a context object, either supplied by the application
// or just by the current Activity (if available)

LayoutInflater inflater = (LayoutInflater) pContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

// where id is the layout id such as R.layout.myclonableview.
// where pRoot is the parent container for the new result.
// where pAttachToRoot is whether to immediately inflate the new view into the root.
result = inflater.inflate(id, pRoot, pAttachToRoot);

// Now "clone" your old view by copying relevant fields from the old one to the
// one stored in result
于 2013-04-15T01:42:28.790 に答える