onLayout() will be called every time notifyDataSetChanged(), caused zoomed image be set back to base scale.