我创建了一个自定义框架布局,其中包含多个视图。单击布局时,会在布局内完成一些动画。我在我的 XML 中创建了两个布局实例,如下所示:
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginTop="19dp"
android:orientation="vertical" >
<com.example.MyProj
android:id="@+id/frame1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="19dp"
android:layout_marginRight="28dp"
android:clickable="true" >
</com.example.MyProj>
<com.example.MyProj
android:id="@+id/frame2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:clickable="true" >
</com.example.MyProj>
</LinearLayout>
现在这里奇怪的行为是,在我的主类中定义这些布局之后,当我点击第一个布局时,动画正在第二个布局上发生,即,当我点击 frame1 时,frame 2 正在制作动画。单击时,第二个布局响应良好。因此,最新定义的布局正在动画化。首先定义的布局没有动画。
这就是我在主类中定义布局的方式:
final MyProj fl = (MyProj) findViewById(R.id.frame1);
final MyProj fl1 = (MyProj) findViewById(R.id.frame2);
fl.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
fl.reset();
fl.animation();
}
});
fl1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
fl.reset();
fl1.animation();
}
});
有人可以解释为什么这些布局会这样吗?提前致谢。