我正在尝试将LayerDrawable显示为ImageButton图像。所有图层必须具有不同的顶部值。例如top += 10;
。为此,我使用了setLayerInset
与Drawable图层项目,但它拉伸了图像。我也尝试了不同的参数,它只显示了其他愚蠢的布局。
在setLayerInset尝试之后我使用了InsetDrawable,给top参数赋予了自己的构造函数:
new InsetDrawable(resources.getDrawable(R.drawable.soldier), 0, layerTop, 0, 0);
这一次,顶部看起来还不错,但ImageButton显示的区域非常小。
基本布局, 让我们说这是我的形象,
*---* | | | | ---
布局应该是,
*---* | | *---* | | *---* | | *---* | | | | ---
答案 0 :(得分:0)
我设置android:scaleType="fitStart"
并更改了如下所示的行,它就像魅力一样。
new InsetDrawable(resources.getDrawable(R.drawable.soldier), 0, layerTop,0,-layerTop);
现在我有更多问题,
首先,您可以看到我正在为每个图层创建一个新实例。如果我只创建一个Drawable
对象并将其设置为将用于创建LayerDrawable
并使用layerDrawable.setLayerInset
函数来设置顶部和底部属性的数组的每个项目,它更有效率。
另一个如果LayerDrawable对象有更多的项目比imageButton更大,它仍然显示图像。是否有CSS overflow:hidden
之类的设置?
感谢。