【问题标题】:Blur the background of Layout [duplicate]模糊布局的背景[重复]
【发布时间】:2015-08-28 05:30:18
【问题描述】:

我制作了一个样式/主题,它完全透明了我的布局。现在我想模糊背景。我创建的大多数解决方案是针对两个视图。所以第二个布局模糊了第一个。但这不是我想要的。我只是想模糊可见的背景(例如 android 午餐菜单或主屏幕等)。

我的风格:

<style name="Theme.Transparent" parent="@android:style/Theme.Dialog">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:backgroundDimEnabled">false</item>

我在清单中的应用程序中使用了它。 有人有想法吗?

编辑:

现在我想截个屏幕,这样我就可以在之后模糊图像。这应该可以适当地屏蔽 android 午餐器,主屏幕等等 .我使用了这段代码,它抛出了一个空对象

public Bitmap screenshot_menu()
            {
                RelativeLayout r1;

                r1 = (RelativeLayout)findViewById(R.id.relativeLayout_MAIN);
                View v1 = r1.getRootView();
                v1.setDrawingCacheEnabled(true);
                Bitmap bm = v1.getDrawingCache();


                return bm;
            } 

是因为我的主题吗?或者这里有什么问题?

【问题讨论】:

  • 你能把主屏幕背景作为位图吗? (可能?)如果是这样,您可以模糊位图并将其设置为背景。
  • 嗯,但在我的主要活动开始之前,我有一个启动画面。那不是截图了吗?你能推荐哪门课? (我读到有些课程非常慢)
  • 我目前正在使用此功能来模糊背景,并没有发现任何延迟:stackoverflow.com/a/10028267/1221721 示例:mybitmap = fastblur(mybitmap, 137);
  • 你也有没有上栏的功能截图? (其中电池的百分比和时钟等)。我只需要主要部分。

标签: java android layout blur


【解决方案1】:

我不知道它是否符合您的需求,但您也可以使用 FrameLayout 并在其他组件的顶部设置半透明图像,这样如果您使其可见,则整个布局在其下方似乎是模糊的:

    <FrameLayout
     android:layout_width="match_parent"
    android:layout_height="match_parent"
     >
    <ImageView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
     android:src="@drawable/some_semi_tansparentimage"
    >
    <\ImageView>
    <OtherElements1>
    <OtherElements2>
    <OtherElements3>

    <\FrameLayout>

只需更改 ImageView 的可见性以添加 ro 去除模糊性

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-18
    • 2017-10-24
    • 1970-01-01
    • 2015-05-26
    • 2020-12-13
    • 1970-01-01
    • 2018-12-17
    相关资源
    最近更新 更多