Pregunta ¿Cómo creo una actividad transparente en Android?


Quiero crear una actividad transparente encima de otra actividad.

¿Cómo puedo conseguir esto?


782
2018-02-01 13:28


origen


Respuestas:


Agregue el siguiente estilo en su res/values/styles.xml archivo (si no tiene uno, créelo). Aquí hay un archivo completo:

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <style name="Theme.Transparent" parent="android:Theme">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:backgroundDimEnabled">false</item>
  </style>
</resources>

(El valor @color/transparent es el valor del color #00000000 que puse en el res/values/color.xml archivo. También puedes usar @android:color/transparent en versiones posteriores de Android).

A continuación, aplique el estilo a su actividad, por ejemplo:

<activity android:name=".SampleActivity" android:theme="@style/Theme.Transparent">
...
</activity>

1222
2018-04-23 17:37



Dice así:

<activity android:name=".usual.activity.Declaration" android:theme="@android:style/Theme.Translucent.NoTitleBar" />

175
2018-02-01 14:47



Con la biblioteca "AppCompat" o "Android Design Support Library" es un poco diferente:

En el styles.xml:

<style name="Theme.AppCompat.Translucent" parent="Theme.AppCompat.NoActionBar">
    <item name="android:background">#33000000</item> <!-- Or any transparency or color you need -->
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:colorBackgroundCacheHint">@null</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowAnimationStyle">@android:style/Animation</item>
</style>

En AndroidManifest.xml:

<activity>
    android:name=".WhateverNameOfTheActivityIs"
    android:theme="@style/Theme.AppCompat.Translucent"
    ...
</activity>

81
2017-07-28 21:26



Declara tu actividad en el manifiesto así:

 <activity   
     android:name=".yourActivity"    
     android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/>

Y agrega un fondo transparente a tu diseño.


32
2017-07-02 05:07



Asigna el tema translúcido a la actividad que quieras hacer transparente en el archivo de manifiesto de Android de tu proyecto:

<activity
    android:name="YOUR COMPLETE ACTIVITY NAME WITH PACKAGE"
    android:theme="@android:style/Theme.Translucent.NoTitleBar" />

25
2017-10-29 05:36



Quería añadir un poco más a esto ya que soy un nuevo desarrollador de Android. La respuesta aceptada es genial, pero me encontré con algunos problemas. No estaba seguro de cómo agregar el color al archivo colors.xml. Aquí es cómo se debe hacer:

colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
     <color name="class_zero_background">#7f040000</color>
     <color name="transparent">#00000000</color>
</resources>

En mi archivo original colors.xml, tenía la etiqueta "dibujable":

<drawable name="class_zero_background">#7f040000</drawable>

Y también lo hice por el color, pero no entendí que la referencia "@ color /" significaba buscar la etiqueta "color" en el XML. Pensé que debería mencionar esto también para ayudar a alguien más.


14
2018-04-22 12:55



Lo logré en 2.3.3 simplemente agregando android:theme="@android:style/Theme.Translucent" en la etiqueta de actividad en el manifiesto

No sé sobre versiones más bajas ...


13
2017-09-21 12:07