Android 踩坑记(一) title 渐变效果

来源:互联网 发布:万能的淘宝 编辑:程序博客网 时间:2024/05/14 10:14

坑:当标题栏渐变的时候,其他无关的界面的也变化了

错误写法:getBackground().setAlpha();

正确写法:getBackground().mutate().setAlpha();

那怎么解决这种情况呢,看看这个方法:

/**
* Make this drawable mutable. This operation cannot be reversed. A mutable
* drawable is guaranteed to not share its state with any other drawable.
* This is especially useful when you need to modify properties of drawables
* loaded from resources. By default, all drawables instances loaded from
* the same resource share a common state; if you modify the state of one
* instance, all the other instances will receive the same modification.
*
* Calling this method on a mutable Drawable will have no effect.
*
* @return This drawable.
* @see ConstantState
* @see #getConstantState()
*/
public Drawable mutate() {
return this;
}

翻译:让这个drawable可变,这个操作是不可逆的。一个可变Drawable可以保证不与其它的Drawable分享一个状态。当你需要修改资源中的Drawable的属性时这个方法是非常有用的,因为默认情况下加载相同资源的所有Drawable实例拥有同一个状态,如果你在一个地方改变了状态,其它的实例也会跟着改变。

试试就知道了!

1 0
原创粉丝点击