Android ImageButton 与 LayerDrawable 图像
我正在尝试将 LayerDrawable 显示为 ImageButton 图像。所有层必须具有不同的顶部值。例如top += 10;
。为此,我将 setLayerInset
与 Drawable 图层项目一起使用,但它拉伸了图像。我还尝试了不同的参数,但它只是显示了其他愚蠢的布局。
在 setLayerInset 尝试之后,我使用了 InsetDrawable,为 top 参数提供了自己的构造函数:
new InsetDrawable(resources.getDrawable(R.drawable.soldier), 0, layerTop, 0, 0);
这一次,顶部看起来不错,但 ImageButton 显示了它的一个非常小的区域。
基本布局, 假设这是我的图像,
*---* | | | | ---
布局应该是,
*---* | | *---* | | *---* | | *---* | | | | ---
I'm trying to display a LayerDrawable as an ImageButton image. All the layers must have different top values. such as top += 10;
. For this I used setLayerInset
with Drawable layer items but it stretched the images. I also tried with different parameters and it just displayed other stupid layouts.
After the setLayerInset attempt I used InsetDrawable, giving the top parameter its own constructor:
new InsetDrawable(resources.getDrawable(R.drawable.soldier), 0, layerTop, 0, 0);
this time, the tops look OK, but ImageButton displays a very small area of it.
Basic layout,
let say this is my image,
*---* | | | | ---
the layout should be,
*---* | | *---* | | *---* | | *---* | | | | ---
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我设置了
android:scaleType="fitStart"
并更改了下面的行,它的工作就像一个魅力。现在我有更多问题,
首先,正如您所看到的,我正在为每个层创建一个新实例。如果我只创建一个
Drawable
对象并将其设置为将用于创建LayerDrawable
的数组的每一项,并使用layerDrawable.setLayerInset
> 函数设置顶部和底部属性,会不会更高效。另一种情况是,如果 LayerDrawable 对象有更多比 imageButton 大的项目,它仍然会显示图像。是否有CSS
overflow:hidden
之类的设置?谢谢。
I set the
android:scaleType="fitStart"
and changed the line as below and it is working like a charm.Now I have more questions,
First, as you can see I am creating a new instance for every layers. If I create only one
Drawable
object and set it to the every items of the array that will be used for creating theLayerDrawable
and uselayerDrawable.setLayerInset
function to set the top and bottom properties, would it be more efficient.And the other one if the LayerDrawable object has more items bigger than the imageButton it still displays the images. Is there a setting such as CSS
overflow:hidden
or something?Thanks.