我见过的许多新的Android应用程序都在其背景上使用了noise effect,通常是渐变色。有趣的是,某些应用程序会在整个应用程序中使用半径渐变来达到这种效果,这将需要大量磁盘空间来存储图像。现在,Android具有GradientDrawable,可以非常轻松地创建渐变。我正在考虑以编程方式创建噪声效果。
以前有没有其他人这样做过,如果是这样,您是如何做到的?您只是使用图像还是编写自己的自定义噪声叠加?
最佳答案
如果您只想以编程方式消除色带,则可以通过覆盖 Activity 的onAttachedToWindow()
回调来做到这一点,如下所示:
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
Window window = getWindow();
// Eliminates color banding
window.setFormat(PixelFormat.RGBA_8888);
}
这对于我的常规应用程序非常有效。我还没有用小工具测试。