我曾经做过很多Flash Actionscript,现在我正在进入Android。 Android API中是否有类似于Actionscript中的duplicateMovieClip()?我确定可能有办法编写这样的方法,但我想知道是否有任何现有的快捷方式。
例如,假设我在屏幕上有一个ImageView,TextView或其他类型的View对象,我想要一个单击按钮,这将复制屏幕上的某个对象。
答案 0 :(得分:1)
如果你不介意我的问题,为什么你需要像duplicateMovieClip()
这样的东西吗?
要回答这个问题,Android没有AS2 duplicateMovieClip()
的概念。就像AS3(也没有duplicateMovieClip()
)一样,你必须实现自己的克隆方法。 Java确实有一个未实现的'.clone()'方法作为每个Java对象的一部分,所以如果有一个特定的视图你想要克隆你可能能够通过它实现你的克隆
覆盖克隆方法。
我认为你最终可能会做的事情更像是通过在xml中创建小视图布局并使用Inflater工具对它们进行实例化而从库实例化。
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