As with English “have on”, German anhaben is understood as progressive (“to be wearing”), unless some adverb suggests otherwise. This is distinct from tragen. Hence, Er trägt keine Sandalen could also be a general statement (“He doesn’t wear sandals.”).
With headgear, aufhaben is preferred instead (though anhaben is not impossible either).