我有一个自定义的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在活动完成后会保持其状态?