Vista transparente sobre ImageView

Estoy bloqueado allí. Estoy tratando de poner una vista transparente sobre un fondo. He intentado varios métodos.

A través de XML con:

android:background="@color/transparent" 

o

 android:color="#80000000" 

O poner una referencia al archivo color.xml como tal

 <resources> <color name="transp">#80000000</color> </resources> 

Con mi layout.xml como este

 android:background="@color/transp" 

También he intentado hacerlo por código generado

 myView.getBackground().setAlpha(45); 

o

 myViewm.setBackgroundResource(R.color.trans); 

He visto algunos mensajes relacionados, pero ninguna de las respuestas funcionó.

Además de lo que es aún más extraño es que todas estas soluciones parece ir muy bien en el GraphicalLayout en Eclipse. Pero cuando lanzo mi dispositivo, la pantalla sigue siendo transparente. He dibujado una línea en esa opinión para cerciorarse de que algo sucede; Y la línea muestra.

Aquí está mi layout.xml

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" tools:context=".MainActivity" > <ImageView android:id="@+id/backgroundview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/space_bg" android:contentDescription="@string/desc" /> <View android:id="@+id/tileview" android:layout_width="fill_parent" android:layout_height="fill_parent"/><!-- android:background="@color/transp"/>--> </RelativeLayout> 

Y mi código

 private ImageView bg; MyView tV; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); tV = new MyView(this); setContentView(tV); 

}

Y el myView onDraw

 @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); this.setBackgroundResource(R.color.transp); canvas.drawLine(10,20,30,40, paint); } 

Entonces, ¿dónde estoy equivocado? ¡¡¡Gracias!!!

One Solution collect form web for “Vista transparente sobre ImageView”

 android:background="@color/transparent" 

Puede utilizar el color transparent proporcionado en los recursos de Android:

 android:background="@android:color/transparent" 

 android:color="#80000000" <resources> <color name="transp">#80000000</color> </resources> myViewm.setBackgroundResource(R.color.trans); 

Esto le dará un tono muy oscuro de gris. El valor alfa de 80 es translúcido en el mejor de los casos.


 myView.getBackground().setAlpha(45); 

Es posible que no lo esté utilizando correctamente.


 private ImageView bg; MyView tV; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); tV = new MyView(this); setContentView(tV); } 

Esto básicamente sustituye a la View inflada de R.layout.activity_main (que contiene el ImageView y otros widgets) con MyView . No creo que esto es lo que quieres. Pruebe lo siguiente:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" tools:context=".MainActivity" > <ImageView android:id="@+id/backgroundview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:src="@drawable/space_bg" android:contentDescription="@string/desc" /> <RelativeLayout android:id="@+id/tileview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@android:color/transparent" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/some_drawable_smaller_than_screen_size" android:layout_centerInParent="true" /> </RelativeLayout> </RelativeLayout> 

Cómo inflar este xml:

 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_main); } 

id="@+id/tileview" será transparente y sobre id="@+id/backgroundview" .

  • SearchView es nulo Android
  • ¿Cómo puedo obtener OnBackPressed () mientras SearchView está activado?
  • Setvisibility (view.visible) no funciona después de setvisibility (view.gone)
  • Android SearchView con otros elementos de ActionBar
  • ¿Cómo puedo hacer que `View` llene un` RelativeLayout`?
  • El niño especificado ya tiene un padre
  • ¿Qué es exactamente un widget?
  • Obtener las dimensiones después de setLayoutParams en Android
  • Actualizar vista en tiempo de ejecución en Android
  • SetOnItemClickListener en ListView que afecta a varias filas
  • Android - Creación de listview con encabezados flotantes
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.