假设我有一个像这样的可绘制的.xml:
<?xml version="1.0" encoding="utf-8"?>
<gradient
android:centerX="0.5"
android:centerY="0.5"
android:endColor="#ff2222bb"
android:gradientRadius="400"
android:startColor="#ff6666ff"
android:type="radial" />
<corners android:radius="50dp" />
我用它作为主要布局的背景。
现在我的问题是“400”是绝对值,不依赖于密度,也不依赖于屏幕的大小。结果是在小型手机和桌面上,这个xml的图形渲染非常不同。
有没有办法将gradientRadius链接到屏幕大小,以便drawable在所有屏幕上显示相等?
感谢。
答案 0 :(得分:0)
另一种解决方案是您可以使用百分比来设置渐变半径大小。 Android doc说:
可能是小数值,也就是a 浮点数附加%或%p,例如“14.5%”。 %后缀总是表示基本大小的百分比;可选的 %p后缀提供相对于某个父容器的大小。