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

时间:2015-01-19 16:27:37

标签: android

我在下面有一个视图,其中有另一种观点。 我希望我的顶视图是透明的,以便下面的视图也可见。

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

这是我已经尝试过的:

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

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

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

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

  4. 这是我的默认应用主题:

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

3 个答案:

答案 0 :(得分:2)

我确定之前已经回答了这个问题。这就是我如何创建一个透明的对话框片段,显示其他片段。在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;
}

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

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

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

android:background="@color/rounded_container_bg"

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

我可以通过几种方式来实现您的目标。 取决于你想要如何接近它。

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

    android:visibility="gone"
    
  2. 或在java中:

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