在 Android 中的不透明片段上创建透明片段



我有一个视图,下面还有另一个视图。我希望我的顶视图是透明的,以便下面的视图也是可见的。

所以我的顶视图占据了整个屏幕,但我希望这个视图的一半是透明的,这样下面的视图就可见了。

这是我已经尝试过的:

  1. 将视图的背景设置为 null(根据应用程序的主题显示视图)

  2. 为活动设置半透明主题使整个活动透明

  3. 将透明颜色设置为背景也不起作用。 (背景根据主题变为灰色或黑色)

    4.设置alpha与第三个具有相同的效果。

这是我的默认应用程序主题:

<style name="MyTheme" parent="android:Theme.Holo.Light">
    <item name="android:windowActionBar">false</item>
    <item name="android:windowNoTitle">true</item>
</style>
我相信

这之前已经回答过了。 这就是我制作透明对话片段的方式,该片段显示在其他片段上。 在 onCreateView 中,将窗口背景设置为透明。

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.settings_fragment_pager,
            container);
    getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(0));
    return view;
}

颜色.xml具有透明度的颜色。 示例 rounded_container_bg 的透明度为 0x22/0xFF%。

<color name="rounded_container_bg">#22000000</color>

将片段的背景设置为透明色。

android:background="@color/rounded_container_bg"

将此行添加到片段的布局中。

android:background="@android:color/transparent"

能想到几种方法来实现你的目标。取决于你想如何处理它。

  1. 您可以将所需的片段主布局可见性设置为 GONE。您可以在这样的代码中实现它:

    android:visibility="gone"
    

或在爪哇中:

yourLayoutName.setVisibility(View.VISIBLE); <-- to show it
yourLayoutName.setVisibility(View.GONE); <-- to hide it
  1. 您还可以将背景设置为透明,尽管它不会使任何按钮,文本和内容随之消失。只是布局背景颜色。

最新更新