2012-07-04 28 views
7

Hola, estoy tratando de establecer el valor alfa para mi diseño relativo, pero estoy recibiendo un error sobre cómo resolver esto, ayúdenme .....¿Cómo establecer el valor alfa para mi distribución relativa?

Tengo tres diseños en mi disposición xml Primero diseño usando para fondo diseño usando para el tercer diseño de encabezado usando para pie de página. Deseo establecer el valor alfa 2 & tercera disposición por lo que estoy tratando de muchas maneras todavía no tengo ni idea por favor, para poder poner valor alfa

código

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> 

código:

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

    } 
} 

Respuesta

20

probar este

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

usted hizo mi día! – gibffe

8

RelativeLay fuera 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 necesita API> = 11 – Darpan

+0

Esto hace que todo el diseño sea transparente, no solo la imagen de fondo, parece. Tuve algunos elementos de vista como botones y textviews que también tomaron este valor alfa cuando lo agregué al RelativeLayout raíz. –

0

En estos casos por lo general tienden a querer establecer el color y alfa al mismo tiempo, por lo que sólo tiene que utilizar rl.setBackgroundColor(0xAACCCCCC); donde A es el valor alfa y C es el color, en formato hexadecimal.

por ejemplo: rl.setBackgroundColor(0x88000000); por 0.5 fondo negro transparente.

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

Cuestiones relacionadas