You probably remember this CDI producer example from our docs:
I am not sure that's the best solution though. Do you really need a different UI widget/component instead of just using a responsive layout (i.e. relying on bootstrap etc.)? That's what the errai-tutorial project does.
If you do need a different widget depending on runtime properties you can also create rebind rule and have the GWT compiler generate a specific permutation that replaces the component: http://www.gwtproject.org/doc/latest/DevGuideCodingBasicsDeferred.html#replacement
Thanks Christian, but responsive design can help only do so much for you. I guess what we are looking for is "adaptive design" with "intelligent autofitting".