A Gloucester man is charged after deputies say a 7-year-old was struck in a hit-and-run crash Saturday night in York County.