2010-06-13 87 views
1

我有兩個活動。一個應該是在另一個之前模糊。爲什麼android:FLAG_BLUR_BEHIND在我的新活動中創建漸變背景而不是模糊窗口?

背景活動有幾個ImageViews,它們被設置爲跨越大部分屏幕和10dip高度的薄漸變。當我開始第二個活動時,它將背景設置爲佔據整個窗口空間的漸變,即對於高度和寬度都顯示爲fill_parent'd。如果我將ImageView註釋掉,它會模糊並看起來像預期的那樣。

有什麼想法?

這是模糊的代碼。

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.WindowManager; 
import android.view.View.OnClickListener; 

public class TransluscentBlurSummaryB extends Activity { 
@Override 
    protected void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 

     getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND, 
       WindowManager.LayoutParams.FLAG_BLUR_BEHIND); 
     getWindow().getAttributes().dimAmount = 0.5f; 
     getWindow().setFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND, 
      WindowManager.LayoutParams.FLAG_DIM_BEHIND); 

     setContentView(R.layout.sheetbdetails); 

     OnClickListener clickListener = new OnClickListener() { 
      public void onClick(View v) { 
      TransluscentBlurSummaryB.this.finish(); 
      } 
     }; 

     findViewById(R.id.sheetbdetailstable).setOnClickListener(clickListener); 

    } 
} 

這裏是與ImageView漸變的佈局。

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:id="@+id/summarysparent" > 
    <!-- view1 goes on top --> 

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/view2" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true"> 
    <Button android:layout_height="wrap_content" 
     android:id="@+id/ButtonBack" 
     android:layout_width="wrap_content" 
     android:text="Back" 
     android:width="100dp"></Button> 
    <Button android:layout_height="wrap_content" 
     android:id="@+id/ButtonNext" 
     android:layout_width="wrap_content" 
     android:layout_alignParentRight="true" 
     android:text="Start Over" 
     android:width="100dp"></Button> 
</RelativeLayout> 

    <TextView 
     android:id="@+id/view1" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_width="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:textSize="10pt" android:text="Summary"/> 

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/summaryscrollview" 
    android:layout_below="@+id/view1" 
    android:layout_above="@+id/view2"> 

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/summarydetails" > 

     <!-- view2 goes on the bottom --> 

     <TextView android:id="@+id/textview2" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_below="@+id/view1" 
     android:layout_centerHorizontal="true" 
     android:text="Recommended Child Support Order" 
     android:layout_marginTop="10dip" /> 

     <ImageView 
    android:id="@+id/horizontalLine1" 
    android:layout_width="fill_parent" 
    android:layout_marginLeft="5dip" 
    android:layout_marginRight="5dip" 
    android:layout_height="10dip" 
    android:src="@drawable/black_white_gradient" 
    android:layout_below="@+id/textview2" 
    android:layout_marginTop="10dip" 
    /> 

     <TextView android:id="@+id/textview3" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_below="@+id/horizontalLine1" 
     android:layout_centerHorizontal="true" 
     android:text="You" 
     android:layout_marginTop="10dip" /> 

     <TextView android:id="@+id/textview10" 
     android:layout_height="wrap_content" 
     android:layout_width="150dp" 
     android:layout_below="@+id/textview3" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="10dip" 
     android:gravity="center_horizontal" /> 

     <ImageView 
    android:id="@+id/horizontalLine2" 
    android:layout_width="fill_parent" 
    android:layout_marginLeft="5dip" 
    android:layout_marginRight="5dip" 
    android:layout_height="10dip" 
    android:src="@drawable/black_white_gradient" 
    android:layout_below="@+id/textview10" 
    android:layout_marginTop="10dip" /> 

     <TextView android:id="@+id/textview4" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_below="@+id/horizontalLine2" 
     android:layout_centerHorizontal="true" 
     android:text="Other Parent" 
     android:layout_marginTop="10dip" /> 

     <TextView android:id="@+id/textview11" 
     android:layout_height="wrap_content" 
     android:layout_width="150dp" 
     android:layout_below="@+id/textview4" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="10dip" 
     android:text="$536.18" 
     android:gravity="center_horizontal" /> 

     <ImageView 
    android:id="@+id/horizontalLine3" 
    android:layout_width="fill_parent" 
    android:layout_marginLeft="5dip" 
    android:layout_marginRight="5dip" 
    android:layout_height="10dip" 
    android:src="@drawable/black_white_gradient" 
    android:layout_below="@+id/textview11" 
    android:layout_marginTop="10dip" /> 

     <TextView android:id="@+id/textview5" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_below="@+id/horizontalLine3" 
     android:layout_centerHorizontal="true" 
     android:text="Calculation Details" 
     android:layout_marginTop="15dip" /> 

     <ImageView android:id="@+id/infoButton" 
     android:src="@drawable/ic_menu_info_details" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_below="@+id/horizontalLine3" 
     android:layout_toRightOf="@+id/textview5" 
     android:clickable="true" 
     /> 

     <ImageView 
    android:id="@+id/horizontalLine4" 
    android:layout_width="fill_parent" 
    android:layout_marginLeft="5dip" 
    android:layout_marginRight="5dip" 
    android:layout_height="10dip" 
    android:src="@drawable/black_white_gradient" 
    android:layout_below="@+id/textview5" 
    android:layout_marginTop="18dip" /> 

    </RelativeLayout> 
</ScrollView> 
</RelativeLayout> 

漸變可繪製是這樣的。

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> 
    <gradient 
    android:startColor="#FFFFFF" android:centerColor="#000000" android:endColor="#FFFFFF" 
      android:angle="270"/> 
    <padding android:left="7dp" android:top="7dp" 
      android:right="7dp" android:bottom="7dp" /> 
    <corners android:radius="8dp" /> 
</shape> 

而這裏是從頂部進行模糊處理的活動的佈局。

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/sheetbdetails" 
android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:clickable="true" > 
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:scrollbars="vertical" 
    android:shrinkColumns="0" 
    android:id="@+id/sheetbdetailstable" > 

    <TableRow> 
     <TextView 

      android:padding="3dip" /> 
     <TextView 
      android:text="You" 
      android:padding="3dip" /> 
     <TextView 
      android:text="@string/otherparent" 
      android:padding="3dip" /> 
      <TextView 
      android:text="Combined" 
      android:padding="3dip" /> 
    </TableRow> 

</TableLayout> 
</ScrollView> 

透明窗口的主題是使用@ style/Theme.Transparent的apidemos中的styles.xml。

回答

1

我認爲,當你想給一個以上的標誌使用 addFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND),而不是setFlags()...... 爲我的作品...