Android:高级渐变样式

标签 android linear-gradients shapedrawable

图片不足请见谅 我想让我的 ListView 弹出一点。 我正在尝试的一个选项是为每个列表行的背景添加渐变。 渐变具有三种颜色,默认情况下类似于此结构:

--(开始颜色)
|
|
-- (中心颜色)
|
|
-- (结束颜色)

我希望它更像这样:

--(开始颜色)
|
-- (中心颜色)
|
|
-- (中心颜色)
|
-- (结束颜色)

不同之处在于中间有更多的中心颜色,渐变开始非常接近末端。

有人可以给我一些指导吗?

编辑 我尽量远离图像,但我并不反对尝试使用图像选项。

最佳答案

据我所知,Android 目前不支持您所追求的渐变。 LinearGradient 会为您提供最接近的结果,但无法在颜色上设置“引力”,并且颜色数量限制为三种。

也就是说,您可以轻松地在您最喜欢的图像编辑软件中渲染出渐变并将其转换为 9-patch .垂直拉伸(stretch)区域将位于该图像的中间。这将使“中心颜色”填满大部分可用高度,并在顶部和底部保持开始和结束颜色。

有一个9-patch tool包含在 SDK 中,这有助于仅在 1 像素边框中绘制并预览您正在进行的工作。不过它也有缺点,所以我不会责怪你使用其他一些图像处理软件。

关于Android:高级渐变样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11548442/

相关文章:

android - Robolectric addResolveInfoForIntent 不起作用

Android:GridView 在滚动时显示重复的图像

svg - XSL-FO 中的径向进度、线性渐变

android:shape ="line"不可见

android - 如何使用 Intent 启动添加联系人 Activity ?

Android 支持库规范

javascript - 如何在 svg 中给多边形渐变填充?

css - 协助渐变背景

android - 如何在 Android 中绘制给定大小的矩形,并将其自身定位在添加到的 View 中?

Android虚线可绘制潜在ICS错误