setBackgroundResource和setBackgroundDrawable之间有什么区别

时间:2013-08-07 10:46:24

标签: android view background android-drawable

有谁能告诉我android中setBackgroundResource(resourceid)setBackgroundDrawable(getResource().getDrawable(drawableid))之间的区别是什么?

1 个答案:

答案 0 :(得分:8)

您可以自己查看Android source code for the View class并发现差异很小!

public void setBackgroundResource(int resid) {
    if (resid != 0 && resid == mBackgroundResource) {
        return;
    }

    Drawable d= null;
    if (resid != 0) {
        d = mResources.getDrawable(resid);
    }
    setBackground(d);

    mBackgroundResource = resid;
}

setBackground()只需拨打setBackgroundDrawable() ...

public void setBackground(Drawable background) {
    //noinspection deprecation
    setBackgroundDrawable(background);
}
相关问题