Install invisible to your layout first.
Set the 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 the 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 must edit the values ββin slide_down.xml and slide_up.xml until you get a favorable result. For example, change android:fromYDelta="500" to android:fromYDelta="700"
source share