Старый вопрос, но этот ответ показывает высокий рейтинг в Google, и я считаю, что альтернативный подход является более масштабируемым. Вместо того, чтобы указывать измерение для каждой плотности, создайте независимое от плотности измерение из XML:
<dimen name="gradient_radius">25dp</dimen>
Поскольку мы не можем применить это непосредственно к XML-документу с радиальным градиентом, мы должны применить его из кода:
((GradientDrawable) someView.getBackground())
.setGradientRadius(getResources().getDimension(
R.dimen.yellowbadge_largeradius));
Это переопределяет поле android:gradientRadius
, поэтому вы можете оставить это значение равным 0. Однако вы все равно не можете использовать (основанное на экране или иное) измерение%. Я применяю это к фону моего представления (для которого уже можно установить рисование градиента!), Но, конечно, это относится и к элементу src в ImageView.