问题
I'm trying to implement a simple animation effect for login screen.
Here's the scenario,
1: Some text and a login button will be displayed by default.
2: After clicking the login button a new frame layout will appear from bottom to top. This layout will prompt user to enter their username and password.
I can make an animation which will overlay from one parent to another. In this scenario, I'm looking for an animation that will appear without leaving the activity.
回答1:
First set invisible
to your layout.
Set animation to slideUp and slideDown.
final LinearLayout layout = (LinearLayout)findViewById(R.id.yourlayout);
button.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
Animation slideUp = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slide_up);
Animation slideDown = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slide_down);
if(layout.getVisibility()==View.INVISIBLE){
layout.startAnimation(slideUp);
layout.setVisibility(View.VISIBLE);
}
});
slide_up.xml (create in res/anim
directory)
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="0" android:fromYDelta="500" android:duration="500"/>
</set>
slide_down.xml
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="0" android:fromYDelta="0" android:toYDelta="500" android:duration="500"/>
</set>
Note:
You should edit values in slide_down.xml
and slide_up.xml
until get favorable result.
for example:change android:fromYDelta="500"
to android:fromYDelta="700"
回答2:
Check out this tutorial, it explains some basic animations which you can customize for your need.
http://www.androidhive.info/2013/06/android-working-with-xml-animations/
来源:https://stackoverflow.com/questions/21261583/make-a-layout-appear-with-animation-after-button-click-in-android