-1

我想知道是否有一种方法可以仅从一侧获得纯色扩展图像的效果。

假设您从这样的位图开始: 可绘制-xxxhdpi/my_bitmap

并且您想设置一个 XML 可绘制对象,以便它水平扩展和收缩,但保持其功能但垂直我希望它在顶部添加纯“蓝色”而不接触图像,这样如果我放置为一个小部件的背景我得到了这个:

可绘制/my_expandable_bitmap

如果 9patches 提供了仅扩展单面的能力,那将是完美的。但是 9patches 迫使你在两个方向上定义一个可扩展的区域:这会破坏我在底部的形状。

这是我可以通过 9patch 实现的: 9patch横向扩展

这就是我想要的(请记住,我希望它在不缩放箭头的情况下垂直扩展(箭头应始终具有相同的高度): 想要的结果

我可以通过布局来玩弄这个,但这对性能不利。

最后我可以编写我的自定义 Drawable,并且我知道该怎么做,但是它不能在 RemoteView 上工作,而且当不使用 Remote View 时,必须通过代码设置它是很丑的。

任何人都知道仅使用 XML drawable 产生这种效果的方法吗?

4

1 回答 1

0

如果我没记错的话,你可以用 9patch 做到这一点。只需选择左侧图像的一小部分即可垂直展开。然后你的图像的底部不应该被拉伸,它看起来就像它在顶部添加了纯色。

编辑

这就是我用 9patch 可以得到的,它被弄平了,但它没有像你的例子那样添加一条直线。

原来的

在此处输入图像描述

更宽(这里并没有很好地显示,但它更宽)

在此处输入图像描述

于 2015-02-27T15:35:54.663 回答