Android的按钮onclicklistener动画不能正常工作 [英] Android button onclicklistener animation is not working
本文介绍了Android的按钮onclicklistener动画不能正常工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我工作的Android应用程序,当我点击按钮,我的动画不能正常工作。
I am working on android app and my animation is not working when I am clicking on button.
下面我codeS,
//Login layout signup button click listener to hide login layout and show signup layout
loginUserSignupBTN.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startActivityActionFadeInAnim.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
signupDetailsLayout.startAnimation(startActivityActionSlideUpAnim);
}
@Override
public void onAnimationEnd(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
startActivityActionFadeOutAnim.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
loginDetailsLayout.setAnimation(startActivityActionSlideDownAnim);
}
@Override
public void onAnimationEnd(Animation animation) {
try {
Thread.sleep(200);
} catch (InterruptedException e) {
//We are doing nothing here
System.out.println(e.toString());
}
finally {
signupDetailsLayout.startAnimation(startActivityActionFadeInAnim);
}
}
@Override
public void onAnimationRepeat (Animation animation){
}
});
loginDetailsLayout.setAnimation(startActivityActionFadeOutAnim);
Toast.makeText(StartActivity.this, "Signup clicked", Toast.LENGTH_LONG).show();
}
});
吐司工作正常,但我想动画不能正常工作。
Toast is working fine, but the animation I am trying is not working.
下面是我的XML布局文件,
Here is my xml layout file,
<RelativeLayout
android:id="@+id/startActivityAppLogoLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_centerInParent="true"
android:padding="5dp"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/startActivityAppLogo"
android:layout_alignParentTop="true"
android:src="@mipmap/logo" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/startActivityAppLogo"
android:text="@string/start_activity_app_title"
android:layout_marginTop="10sp"
android:gravity="center"
android:id="@+id/startActivityAppTitleTV"
android:textColor="#7f8c8d"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/loginDetailsLayout"
android:gravity="center"
android:layout_centerInParent="true"
android:padding="5dp"
android:visibility="invisible"
>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/userLoginNameET"
android:ems="12"
android:hint="@string/login_user_name_edit"
android:textColor="#1abc9c"
/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="12"
android:hint="@string/login_user_pass_et"
android:id="@+id/userLoginPasswordET"
android:layout_below="@+id/userLoginNameET"
android:layout_marginTop="20dp"
android:textColor="#1abc9c"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/login_user_login_btn"
android:id="@+id/userLoginButtonLogin"
style="?android:buttonBarButtonStyle"
android:padding="5dp"
android:textColor="#D24D57"
android:textAllCaps="false"
android:layout_below="@+id/userLoginPasswordET"
android:layout_alignLeft="@+id/userLoginPasswordET"
android:layout_alignStart="@+id/userLoginPasswordET"
android:textSize="18sp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16sp"
android:text="@string/login_user_forgot_tv"
android:layout_below="@id/userLoginButtonLogin"
android:textColor="#000000"
android:id="@+id/userLoginForgotTV"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/login_user_signup_btn"
android:id="@+id/userLoginButtonSignup"
style="?android:buttonBarButtonStyle"
android:padding="5dp"
android:textColor="#c0392b"
android:textAllCaps="false"
android:layout_below="@+id/userLoginPasswordET"
android:layout_alignRight="@+id/userLoginPasswordET"
android:layout_alignEnd="@+id/userLoginPasswordET"
android:textSize="18sp"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/signupDetailsLayout"
android:gravity="center"
android:layout_centerInParent="true"
android:padding="5dp"
android:visibility="invisible"
>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/userSignupNameET"
android:ems="12"
android:hint="@string/signup_user_name_edit"
android:textColor="#1abc9c"
/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textEmailAddress"
android:ems="12"
android:id="@+id/userSignupEmailET"
android:layout_marginTop="20dp"
android:hint="@string/signup_user_email_et"
android:layout_below="@+id/userSignupNameET"
android:textColor="#1abc9c"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="12"
android:hint="@string/login_user_pass_et"
android:id="@+id/userSignupPasswordET"
android:layout_below="@+id/userSignupEmailET"
android:layout_marginTop="20dp"
android:textColor="#1abc9c"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="phone"
android:ems="12"
android:id="@+id/userSignupPhoneET"
android:hint="@string/signup_user_mobile_et"
android:layout_below="@+id/userSignupPasswordET"
android:layout_marginTop="20dp"
android:textColor="#1abc9c"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/login_user_login_btn"
android:id="@+id/userSignupButtonLogin"
style="?android:buttonBarButtonStyle"
android:padding="5dp"
android:textColor="#c0392b"
android:textAllCaps="false"
android:layout_below="@+id/userSignupPhoneET"
android:layout_alignLeft="@+id/userSignupPhoneET"
android:layout_alignStart="@+id/userSignupPhoneET"
android:textSize="18sp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="14sp"
android:text="@string/signup_user_terms_tv"
android:layout_below="@id/userSignupButtonLogin"
android:textColor="#000000"
android:id="@+id/userSignupTermsTV"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/login_user_signup_btn"
android:id="@+id/userSignupButtonSignup"
style="?android:buttonBarButtonStyle"
android:padding="5dp"
android:textColor="#D24D57"
android:textAllCaps="false"
android:layout_below="@+id/userSignupPhoneET"
android:layout_alignRight="@+id/userSignupPhoneET"
android:layout_alignEnd="@+id/userSignupPhoneET"
android:textSize="18sp"/>
</RelativeLayout>
我也试图创建一个功能,但它没有工作,要么和codeS是,
I have also tried creating a function but it didn't work either and codes are,
//Login layout signup button click listener to hide login layout and show signup layout
loginUserSignupBTN.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
activateLayoutAnimation(signupDetailsLayout, loginDetailsLayout);
//Toast.makeText(StartActivity.this, "Signup clicked", Toast.LENGTH_LONG).show();
}
});
和功能,
//For action layout animations
private void activateLayoutAnimation(final RelativeLayout showLayout, final RelativeLayout hideLayout){
startActivityActionFadeInAnim.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
showLayout.startAnimation(startActivityActionSlideUpAnim);
}
@Override
public void onAnimationEnd(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
startActivityActionFadeOutAnim.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
hideLayout.setAnimation(startActivityActionSlideDownAnim);
}
@Override
public void onAnimationEnd(Animation animation) {
try {
Thread.sleep(200);
} catch (InterruptedException e) {
//We are doing nothing here
System.out.println(e.toString());
}
finally {
showLayout.startAnimation(startActivityActionFadeInAnim);
}
}
@Override
public void onAnimationRepeat (Animation animation){
}
});
hideLayout.setAnimation(startActivityActionFadeOutAnim);
}
感谢您的时间和朋友们有所帮助。
Thank you for your time and help friends.
推荐答案
setAnimation不会立即启动动画。要立即启动,请拨打startAnimation来代替。
setAnimation does not immediately start the animation. To immediately start, call startAnimation instead.
这篇关于Android的按钮onclicklistener动画不能正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文