【问题标题】:iOS 7 blur in AndroidAndroid 中的 iOS 7 模糊
【发布时间】:2013-08-26 22:13:54
【问题描述】:

我正在开发一款采用扁平风格设计的新 Android 应用。我想要一个显示在模糊背景上的 DialogAlert。这张照片的效果类似于控制中心(不要写NDA,这张照片在苹果官网上有):

有可能吗?如果是这样,最重要的问题是:如何?

M.

【问题讨论】:

  • 如果您的应用程序看起来与 iOS 7 的扁平化设计相同(或至少非常相似),您可能会在 Play 商店中获得差评。当然,可以用自己的个人风格为您的应用程序增添趣味……但请确保牢记 Android 设计指南,并且不要将 iOS 7 的风格用作应用程序的模板。 :)
  • 问得好,我的设计师经常要求这种东西

标签: android


【解决方案1】:

是的,这是可能的,你必须使用一种叫做渲染脚本的东西。 所以你需要的是视图中的位图,这可以使用以下代码完成。

View v // target view to be blurred
v.setDrawingCacheEnabled(true);
Bitmap screenshot = Bitmap.createBitmap(v.getDrawingCache());

现在使用渲染脚本来获取此处显示的模糊位图 http://blog.neteril.org/blog/2013/08/12/blurring-images-on-android/ 并将其绘制到您的视图中。

【讨论】:

  • 我看到这是在使用渲染脚本,并且将使用 gpu,但是这么快,因为它与所有时间有关吗?
  • 请注意,您只能模糊您可以从自己的活动中访问的内容。
  • 链接中的 RenderScript 完美运行,但是您应该注意它是用 C# 编写的,因为那是 Xamarin 博客。幸运的是,将它转换为 Java 是孩子们的工作。
【解决方案2】:

是的,这是可能的。不要创建对话框,而是创建和活动并在您的清单中添加 android:theme="@android:style/Theme.Dialog" 到您的活动中,如下所示:

<activity 
    android:name=".Activity" 
    android:label="@string/title_activity" 
    android:theme="@android:style/Theme.Dialog">
  <intent-filter>
  <action android:name="example.package" /> 
  <category android:name="android.intent.category.DEFAULT" /> 
  </intent-filter>
</activity>

【讨论】:

  • 这只会使背景变暗,而不是模糊它。
【解决方案3】:

可以做到,但没有快速简便的方法。请查看我们在 Android 开发者文档中的 BlurMask filterAndroid, how to blur/glass/frost current activity 以获取一些建议的步骤。

【讨论】:

    【解决方案4】:

    在 Photoshop 中创建模糊位图并将其设置为Activity/Dialog 的背景可绘制对象。

    【讨论】:

    • 我认为这不是提问者想要的,100% 的时间看起来都是一样的。我猜他想要一些更有活力的东西,有毛玻璃制成的对话效果。
    • @satur9nine OP 从未提及任何关于它需要动态的内容。但如果这是他的意思,那么是的,模糊效果可能需要在运行时生成。
    猜你喜欢
    • 1970-01-01
    • 2014-02-09
    • 2013-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-21
    • 1970-01-01
    • 2015-01-24
    相关资源
    最近更新 更多