1

假设我有一个这样的可绘制 .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 在所有屏幕上看起来都一样?

谢谢。

4

1 回答 1

0

另一种解决方案是您可以使用百分比来设置渐变半径大小。安卓文档说:

机器人:渐变半径

可能是一个小数值,它是一个附加了 % 或 %p 的浮点数,例如“14.5%”。% 后缀始终表示基本大小的百分比;可选的 %p 后缀提供了相对于某些父容器的大小。

于 2013-05-16T08:06:02.417 回答