If you can re-arrange to use linearlayout that continually gets textviews added, then you can use android:animateLayoutChanges="true"
(not sure about scrolling with linearlayout though), source: how to add animation to the linear layout?
Alternatively you could have a ScrollView on which you add TextViews to the end and call:
final ScrollView scrollview = ((ScrollView) findViewById(R.id.scrollview));
scrollview.post(new Runnable() {
@Override
public void run() {
scrollview.fullScroll(ScrollView.FOCUS_DOWN);
}
});
Source: How to scroll to bottom in a ScrollView on activity startup
Could be flavoured with some coloring and some delay using postdelayed instead of post. To tint the background of a view in my app I use this code:
@SuppressLint("NewApi") private void tintBackground() {
ColorDrawable[] color = { new ColorDrawable(Color.RED),
new ColorDrawable(Color.WHITE) };
TransitionDrawable trans = new TransitionDrawable(color);
int sdk = android.os.Build.VERSION.SDK_INT;
if (sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) {
mViewPager.setBackgroundDrawable(trans);
} else {
mViewPager.setBackground(trans);
}
trans.startTransition(ANIMATION_TINTBACKGROUND);
}
If you stick with the listview, you can add:
android:stackFromBottom="true"
android:transcriptMode="alwaysScroll"
to your listview layout, source: Listview Scroll to the end of the list after updating the list
Have not tried this last one. Sounds promising but do not know if it adds the effect you are seeking.