binding.filter.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (binding.filterExams.getVisibility() == View.VISIBLE) {
                Animation slide_down = AnimationUtils.loadAnimation(binding.filterExams.getRootView().getContext(),
                        R.anim.slide_up_filter);
                slide_down.setAnimationListener(new Animation.AnimationListener() {
                    @Override
                    public void onAnimationStart(Animation animation) {
                    }
                    @Override
                    public void onAnimationEnd(Animation animation) {
                        binding.filterExams.setVisibility(View.GONE);
                    }
                    @Override
                    public void onAnimationRepeat(Animation animation) {
                    }
                });
                binding.filterExams.startAnimation(slide_down);
            } else {
                binding.filterExams.setVisibility(View.VISIBLE);
                Animation slide_down = AnimationUtils.loadAnimation(binding.filterExams.getRootView().getContext(),
                        R.anim.slide_down);
                binding.filterExams.startAnimation(slide_down);
            }
        }
    });
you can add animation file in xml file for e.g 
here i used slide down  and up animation 
slide_up_filter.xml 
   <?xml version="1.0" encoding="utf-8"?>
  <set xmlns:android="http://schemas.android.com/apk/res/android" 
   android:interpolator="@android:anim/linear_interpolator">
    <scale
    android:duration="250"
    android:fromXScale="1.0"
    android:fromYScale="1.0"
    android:toXScale="1.0"
    android:toYScale="0.0" />
  </set>
slide_down.xml
 <?xml version="1.0" encoding="utf-8"?>
 <set xmlns:android="http://schemas.android.com/apk/res/android" 
android:interpolator="@android:anim/linear_interpolator">
<scale
    android:duration="250"
    android:fromXScale="1.0"
    android:fromYScale="0.0"
    android:toXScale="1.0"
    android:toYScale="1.0" />
 </set>
like this there are sevaral animation 
fade_in.xml
<?xml version="1.0" encoding="utf-8"?>
 <set xmlns:android="http://schemas.android.com/apk/res/android" 
android:interpolator="@android:anim/linear_interpolator">
 <alpha
    android:duration="2000"
    android:fromAlpha="0.1"
    android:toAlpha="1.0">
 </alpha>
 </set>
 fade_out.xml
 <?xml version="1.0" encoding="utf-8"?>
 <alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="500"
android:fromAlpha="1.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toAlpha="0.0" />