I would advise you to use a RecyclerView instead for your purpose. The "Overscroll" animation is supported by default. 
A RecyclerView is in a way pretty similar to a ListView, but it makes it for example way easier to deal with animations or forces you to use the ViewHolder Pattern. Furthermore it is way more flexible then a ListView. 
However in my personal opinion using a ListView over a RecyclerView for simple use cases is still fine.
So what steps are necessary to create one? 
Adding the dependency
First add the dependency to your app.gradle file. You will find this file under "Gradle Scripts -> build.gradle (Module: app)" or by simply pressing TAB twice and then entering gradle in the search menu (pretty useful when searching files :) ). There add the following dependency:     implementation 'com.android.support:recyclerview-v7:26.1.0'
Alternatively you can Drag and Drop the RecyclerView from the Designer to your Layout (Designer can be found by going to your layout.xml file and switching to the Design Tab) by searching it (top left). This will automatically add the dependency for you.
Creating the Layout
Simply the same as ListView (note: this example does not use ConstraintLayout as parent ViewGroup):
    <android.support.v7.widget.RecyclerView
    android:id="@+id/rvExample"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>
I don't know if you are currently using a ConstraintLayout, but you should definitely check it out :).
Adapter explained
public class RecyclerViewAdapter extends RecyclerView.Adapter<ExampleViewHolder> {
private List<String> mData;
private LayoutInflater mInflater;
RecyclerViewAdapter(List<String> data, LayoutInflater inflater) {
    mData = data;
    mInflater = inflater;
}
@Override
public ExampleViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    return new ExampleViewHolder(mInflater.inflate(R.layout.my_layout, parent, false));
}
@Override
public void onBindViewHolder(ExampleViewHolder holder, int position) {
    holder.getTvText().setText(mData.get(position));
}
@Override
public int getItemCount() {
    return mData.size();
}
}
onCreateViewHolder: As it already says a new ViewHolder has to be created. This is not called everytime a new item pops up on screen when scrolling!
onBindViewHolder: Data for the ViewHolder given as parameter has to be updated. 
getItemCount: How many items does this RecyclerView consist of?
ViewHolder
class ExampleViewHolder extends RecyclerView.ViewHolder {
private TextView mTvText;
    public ExampleViewHolder(View itemView) {
        super(itemView);
        mTvText = itemView.findViewById(R.id.tv_text);
    }
    public TextView getTvText() {
        return mTvText;
    }
}
There you just extract your Views so you can update them when the onBindViewHolder method is called. Layout for it:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="56dp">
<TextView
    android:id="@+id/tv_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
</android.support.constraint.FrameLayout>
To finish
Now you only have to set a LayoutManager and an Adapter to your RecyclerView and voilah! The LayoutManager simply tells the RecyclerView how those items should be arranged. Ok now let's finish:
mRvExample.setHasFixedSize(true); //set this if every item has the same size - performance gain
mRvExample.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
mRvExample.setAdapter(new RecyclerViewAdapter(Arrays.asList("asdf","asdfsdf"), getLayoutInflater());
Whilst I could not directly solve your problem using a ListView I hope that I was still able to help you out. Since I don't know which level you are at I hope it was also fine of me to include a description of how to set up a basic RecyclerView. Helpful links you should have a look it to get a more in depth understanding are:
Base description:
https://developer.android.com/training/material/lists-cards.html
Talking about enter animations:
https://proandroiddev.com/enter-animation-using-recyclerview-and-layoutanimation-part-1-list-75a874a5d213
Adding onClick: RecyclerView onClick
Using Kotlin: https://antonioleiva.com/recyclerview-adapter-kotlin/
Item decorartion: https://www.bignerdranch.com/blog/a-view-divided-adding-dividers-to-your-recyclerview-with-itemdecoration/
Pro RecyclerView talk: https://www.youtube.com/watch?v=KhLVD6iiZQs