为什么背景drawable在活动结束后保持其状态?

时间:2015-06-19 03:21:43

标签: android android-layout view android-savedstate

我有一个自定义的ViewGroup,它只做一件事,在布局阶段改变背景的alpha:

@Override
protected void onLayout(boolean changed, int l, int t, int r, int b) {
        ...
        getBackground().setAlpha(0);
        ...
}

setBackground中打印alpha:

@Override
public void setBackground(Drawable background) {
    if (background instanceof ColorDrawable) {           
        bgAlpha = Color.alpha(((ColorDrawable) background).getColor());
        d("bg:" + Integer.toHexString(bgAlpha));
        super.setBackground(background);
    } else {
       ...
    }
}

现在我有一个活动从布局xml:

中膨胀这个自定义视图
   <CustomViewGroup
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#88000000" />

首次启动应用时,setBackground打印:

bg:88

然后我完成了应用并从启动器重新打开它,setBackground print:

bg:0

为什么后台drawable在活动完成后会保持其状态?

0 个答案:

没有答案