gpt4 book ai didi

android - 动画后按钮单击不起作用

转载 作者:太空狗 更新时间:2023-10-29 15:28:13 25 4
gpt4 key购买 nike

我在一个 LinearLayout 中有两个 button 并且在这个 LinearLayout 中我有两个按钮。当我为 LinearLayout 制作动画时工作正常但是当试图点击 LinearLayout 内的 Button 时,点击 button 不起作用。

我已经搜索了很多但无法解决这个问题。

下面的代码为LinearLayout设置动画

an = new RotateAnimation(angleRightHead, getRotateAngleRightEdgehead (), Animation.RELATIVE_TO_SELF, 1, Animation.RELATIVE_TO_SELF, 0.33f);
an.setRepeatMode(Animation.REVERSE);
an.setDuration(1000);
an.setRepeatCount(0);
an.setFillAfter(true);
an.setFillEnabled(true);
head_neck_ll.startAnimation(an);

和这段XML代码

<LinearLayout  
android:id="@+id/head_neck_idll"
android:layout_width="wrap_content"
android:layout_height="100dp"
android:gravity="center"
android:orientation="horizontal" >

<Button
android:id="@+id/head"
android:layout_width="70dp"
android:layout_height="20dp"
android:background="@drawable/roundcorner"
android:clickable="true"
android:onClick="clickhander" />
<!-- </RelativeLayout> -->

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="50dp"
android:orientation="vertical" >

<RelativeLayout
android:layout_width="wrap_content"
android:padding="3dp"
android:layout_height="16dp" >

<Button
android:id="@+id/lumber"
android:layout_width="49dp"
android:layout_marginLeft="3dp"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerVertical="true"
android:layout_marginBottom="-10dp"
android:background="@drawable/roundcorner"
android:clickable="true"
android:onClick="clickhander" />

</RelativeLayout>

<Button
android:id="@+id/backupper"
android:layout_width="80dp"
android:layout_height="20dp"
android:background="@drawable/roundcorner"
android:clickable="true"
android:onClick="clickhander" />
</LinearLayout>

</LinearLayout>

onClickListener的代码

public void clickhander(View v){
if(v.getId() == R.id.head){
textv = head;
v1right = mapRight.get(head);
v1right = mapLeft.get(head);

head.setBackgroundResource(R.drawable.clickroundcorner);
lumber.setBackgroundResource(R.drawable.roundcorner);
backupper.setBackgroundResource(R.drawable.roundcorner);
backlower.setBackgroundResource(R.drawable.roundcorner);
legside.setBackgroundResource(R.drawable.roundcorner);
angle =0;
} else if(v.getId() == R.id.backupper){
textv = backupper;
v1right = mapRight.get(backupper);
v1right = mapLeft.get(backupper);

backupper.setBackgroundResource(R.drawable.clickroundcorner);
head.setBackgroundResource(R.drawable.roundcorner);
lumber.setBackgroundResource(R.drawable.roundcorner);
backlower.setBackgroundResource(R.drawable.roundcorner);
legside.setBackgroundResource(R.drawable.roundcorner);
angle =0;
}
}

检查图像:

Myrequirement

注意:1 和 2 都在相同的布局中。我想点击每个带有布局动画

的监听器

我们将不胜感激。

最佳答案

是的,这是正常行为。这是因为动画只是重新呈现 View 的像素,但它在显示器上的位置保持不变。

如果你想将你的View重新定位到你的动画结束的地方,你需要调用View.layout()方法并传递这4个参数,它们描述了查看在其布局上的新位置。

请记住,View.layout() 获取相对于“View 的父级”的参数。

关于android - 动画后按钮单击不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31241460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com