2010-06-13 4 views
1

J'ai deux activités. L'un est censé être flou devant l'autre. L'activité d'arrière-plan comporte plusieurs ImageView qui sont configurés comme des dégradés minces s'étendant sur la plus grande partie de l'écran et 10dip haut. Lorsque je lance la deuxième activité, il définit l'arrière-plan comme un dégradé occupant tout l'espace de la fenêtre, c'est-à-dire qu'il semble être fill_parent pour la hauteur et la largeur. Si je commente les images, alors il est flou et ressemble à ce que l'on attendait.Pourquoi android: FLAG_BLUR_BEHIND créer un arrière-plan dégradé dans ma nouvelle activité au lieu de faire de la fenêtre?

Des pensées?

Voici le code qui crée le flou.

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

    } 
} 

Et voici la disposition avec les dégradés 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> 

Le dégradable est le suivant.

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

Et voici la mise en page de l'activité en faisant le flou sur le dessus.

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

Les fenêtres transparentes sont le thème de styles.xml dans les apidemos en utilisant le style @/Theme.Transparent.

Répondre

1

Je pense que lorsque vous voulez donner plus d'un drapeaux utilisent addFlags (WindowManager.LayoutParams.FLAG_BLUR_BEHIND) au lieu de (setFlags) .... qui fonctionne pour moi ...

Questions connexes