2015-06-12 2 views
0

Я создал стиль/тему, которая полностью прозрачна для моего макета. Теперь я хочу размыть фон. Большинство решений, которые я основал, предназначены для двух видов. Так что второй макет размывает первый из них. Но это НЕ что я хочу. Я просто хочу размыть фон, который можно увидеть (например, меню или рабочий экран андроида и т.д.).Размытие фона макета

Мой Стиль:

<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> 

Я использовал это на моем заявлении в манифесте. У кого-то есть идея?

EDIT:

Теперь я хотел бы сделать скриншот, чтобы я мог размыть изображение после that.this Propably должны экранировать андроид luncher, независимо рабочий стол .Я использовал этот код и он throwsing нулевой объект

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; 
      } 

Это из-за моей темы? Или что здесь может быть неправильно?

+0

вы можете получить Homescreen фон как растровое изображение? (возможно?) Если это так, вы можете размыть растровое изображение и установить его в качестве фона. – Ael

+0

Хмм, но у меня появился Splashscreen, прежде чем начнется моя основная деятельность. Разве это не скриншоты? И какой класс вы можете предложить? (Я читал, что есть классы, которые очень медленные) –

+0

Я использую эту функцию для размытия фона на данный момент и не заметил никакой задержки: http://stackoverflow.com/a/10028267/1221721 Пример: ' mybitmap = fastblur (mybitmap, 137); ' – Ael

ответ

0

Я не знаю, будет погода соответствовать вашим потребностям, но вы также можете использовать 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 добавить ро удалить размыли Несс

Смежные вопросы