2012-07-04 14 views
7

Ciao Sto cercando di impostare il valore alfa per il mio layout relativo, ma sto ricevendo errore come risolvere questo help me .....Come impostare il valore alfa per il mio layout Relativo?

Ho tre layout nel mio layout xml 1 ° layout utilizzando per lo sfondo 2 layout utilizzando per l'intestazione 3 ° layout utilizzando per il piè di pagina. Desidero impostare il valore alpha 2 & terzo layout in modo sto provando molti aspetti ancora non ho idea informi come impostare valore alfa

codice

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> 

codice:

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

    } 
} 

risposta

20

provare questo

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

hai fatto il mio giorno! – gibffe

8

RelativeLay fuori 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 ha bisogno di API> = 11 – Darpan

+0

Ciò rende l'intero layout trasparente, non solo l'immagine di sfondo, a quanto pare. Ho avuto alcuni elementi di visualizzazione come pulsanti e visualizzazioni di testo che hanno anche assunto questo valore alfa quando l'ho aggiunto alla radice RelativeLayout. –

0

In questi casi generalmente tendono a voler impostare il colore e alfa allo stesso tempo, quindi uso rl.setBackgroundColor(0xAACCCCCC); dove A è il valore alfa e C è il colore, in formato esadecimale.

ad esempio: rl.setBackgroundColor(0x88000000); per 0,5 sfondo nero trasparente.

o in XML: android:background="#88000000"

Problemi correlati