ImageView:可绘制和填充?

时间:2013-09-04 09:05:54

标签: android android-imageview padding android-drawable

我写了一个自定义drawable并在ImageView中显示它。

如果我在ImageView中添加一个填充,我的drawable将覆盖填充并填充整个图像视图。

我在drawable中做的是:

@Override
public void setBounds(int left, int top, int right, int bottom) {
    super.setBounds(left, top, right, bottom);

    Rect r = new Rect();

    getPadding(r);

    Log.d("Test", "padding " + r.toShortString());

    mWidth = right - left;
    mHeight = bottom - top;

}

并在Drawables绘制方法中绘制一个Bitmap来填充mWidth和mHeight。

那么如何将填充量计入数量? getPadding(R);即使ImageView有一些填充,也总是返回0,0,0,0值。

知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

getPadding()只能在加载Imageview后调用。添加ViewTreeObserver以在加载imageview后获取填充。