2012-07-04 7 views
7

Witam Próbuję ustawić wartość alfa dla mojego względnego układu, ale dostaję błąd, jak rozwiązać ten problem, pomóż mi .....Jak ustawić wartość alfa dla mojego układu względnego?

Mam trzy układy w moim układzie xml Pierwszy układ przy użyciu tła drugiego układ wykorzystujący dla nagłówka Trzeci układ wykorzystujący stopkę. Życzę, aby ustawić wartość alfa 2 & 3rd układ więc staram wiele sposobów nadal nie mam pojęcia, proszę powiedzieć jak ustawić wartość alfa

kod

xml:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:layout_alignParentLeft="true" 
    android:orientation="vertical" 
    android:background="@drawable/blue"> 

    <RelativeLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="60px" 
     android:orientation="horizontal" 
     android:layout_alignParentTop="true" 
     android:background="@drawable/gradient_black" 
     android:id="@+id/ttest"> 
     <ImageView 
      android:id="@+id/imageView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 

     /> 

     <TextView 
      android:id="@+id/header_text" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerVertical="true" 
      android:layout_marginLeft="6dp" 
      android:layout_toRightOf="@+id/imageView1" 
      android:text="settings" 
      android:textColor="@color/white" 
      android:textSize="20sp" /> 

    </RelativeLayout> 

    <RelativeLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="55px" 

     android:background="@drawable/gradient_black" 
     android:gravity="bottom" 
     android:orientation="horizontal" 
     android:layout_alignParentBottom="true" > 
    <ImageView 
      android:id="@+id/imageView2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="ssss" 
     /> 

    </RelativeLayout> 

</RelativeLayout> 

Kod:

public class DesignActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     int width = getWindowManager().getDefaultDisplay().getWidth(); 
     int height = getWindowManager().getDefaultDisplay().getHeight(); 


     ImageView imgHead = (ImageView)findViewById(R.id.imageView1); 

     ImageView imgbottom = (ImageView)findViewById(R.id.imageView2); 


     imgbottom.setImageResource(R.drawable.back); 
     imgbottom.setLayoutParams(new RelativeLayout.LayoutParams(width/8, height/8)); 


     imgHead.setImageResource(R.drawable.b); 
     imgHead.setLayoutParams(new RelativeLayout.LayoutParams(width/8, height/8)); 
    // RelativeLayout relative = (RelativeLayout)findViewById(R.id.ttest); 

    } 
} 

Odpowiedz

20

spróbować tej

AlphaAnimation alpha = new AlphaAnimation(0.5F, 0.5F); 
alpha.setDuration(0); // Make animation instant 
alpha.setFillAfter(true); // Tell it to persist after the animation ends 
// And then on your layout 
yourLayout.startAnimation(alpha); 
+0

zrobiliście mój dzień! – gibffe

8

RelativeLay out rl; ...
rl.setAlpha (0,5F);

<RelativeLayout 
    android:id="@+id/rl" 
    android:layout_width="200dp" 
    android:layout_height="200dp" 
    android:background="@drawable/bg" 
    android:alpha="0.5"> 
+0

rl.setAlpha potrzebuje API> = 11 – Darpan

+0

To sprawia, że ​​cały układ jest przezroczysty, a nie tylko obraz tła. Miałem pewne elementy widoku, takie jak przyciski i widoki tekstu, które również przyjęły tę wartość alfa, gdy dodałem ją do głównego RelativeLayout. –

0

W takich przypadkach ja na ogół chcą ustawić kolor i alfa w tym samym czasie, więc wystarczy użyć rl.setBackgroundColor(0xAACCCCCC); gdzie A jest wartość alfa i C to kolor, w formacie szesnastkowym.

np .: rl.setBackgroundColor(0x88000000); dla 0,5 przezroczystego czarnego tła.

lub w formacie XML: android:background="#88000000"