我找到了关于透明和半透明差异的描述。这些是重要的部分:
半透明意味着什么?如果您正在写一块玻璃, 但那块玻璃是冷淡的,深色的,或者很脏,你 会使用半透明的。
透明是什么意思?如果您正在撰写关于一块玻璃的文章, 那块玻璃很清楚,你会用的 透明。透明的东西允许所有光线通过 通过它。清洁的空气和汽车的挡风玻璃是透明的。
如果您想深入了解这一点,请查看here。
我想让Android中的ViewGroup半透明。在video我发现如何使活动半透明。他们所做的是定义以下样式和颜色:
<color name="transparent_green_color">#8800ff00</color>
<style name="TranslucentGreen" parent="android:Theme.Translucent">
<item name="android:windowBackground">@color/transparent_green_color</item>
</style>
然后在清单中,在应用程序标记中,他们将这个新样式添加为主题:
<application
android:theme="@style/TranslucentGreen"
...>
...
</application>
我想要做的是不使Activity
半透明,但使ViewGroup
半透明。
我的布局结构如下:
<FrameLayout>
<RelativeLayout>
...
</RelativeLayout>
<RelativeLayout>
...
</RelativeLayout>
</FrameLayout>
第二个RelativeLayout
应该是半透明的,并且第一个RelativeLayout
可以通过半透明template <typename T, typename std::enable_if<std::is_base_of<BaseService, T>::value>::type*>
class ServiceLocator { ... };
看到。怎么做?
答案 0 :(得分:0)
使用Blurry库解决了我的问题。因此,如果第二个ViewGroup(在我的情况下是第二个RelativeLayout
)必须位于顶部而第一个必须透过半透明,那么你需要调用类似的东西:
Blurry.with(context).radius(25).sampling(2).onto(viewGroup);
然后你就有了预期的效果。要返回旧视图状态而不是半透明,您可以使用此方法:
Blurry.delete(viewGroup)
在所需的视图上。我喜欢那个图书馆,因为它非常紧凑。
如果您无法使用外部库,则可以从this Medium article开始。它适用于RenderScript和Bitmap class。 Bu应该可以从ViewGroups创建位图。