shrinkwrap or else ?

I have a little problem with a flishlight I try to model. There the main part, almost a cylinder and I model seperatly the switch button to turn on/off the light (because the switch button will be animated and I need to have the all flashlight behind the button).
And know I want the button to be exactly on the cylinder and like “shrinkwarp”. Unfortunatly when I use this modifier It make my button “flat” and stick it to the cylinder of the flashlight. I need to keep the volume of the button.
There is a picture to understand on what kind of model I work on.

If you need the blend files i can give it.
I tryed the cast modifier but if doesnt do the job realy great never. If someone have an idea about how to do.

Select bottom vertices from the button and put them in a vertex group (ctrl+G). Add shrinkwrap modifier and tell it to use that group. You probably want to put it to project mode, negative & positive, and the axis is Y unless you have unapplied object rotations.

If you can post a example .blend of the problem then always do so. It’s the fastest way to see what you’re working with and to take screenshots for replying back, which in turn reduces amount of text one has to write and makes the replying faster and clearer. If people can’t help without it, there is always a choice between asking for the file or closing the tab. Then there’s extra wait for the actual answers if they do request it.

Thx a lot it works perfectly actualy. The thing was to do it in project mode and tweak the axis and direction like you said.