Mi caso de uso es escribir una actividad de controlador de superposición para una vista previa de cámara panorámica. Seguí las instrucciones de un par de tutoriales para escribir un tema transparente.La actividad debe ser transparente, pero tiene fondo negro
Así que mi res/valores/style.xml se parece a esto:
<resources>
<style name="Theme" parent="android:Theme" />
<style name="Theme.Transparent">
<item name="android:windowBackground">@drawable/transparent_background</item>
</style>
<drawable name="transparent_background">#00000000</drawable>
</resources>
La actividad fragmento:
<activity android:name=".CameraPreview"
android:label="Camera"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Controlls"
android:label="Controlls"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent">
</activity>
Cuando inicio esta actividad de mi actividad de las raíces, el diseño se ve arrastrado correctamente , pero el fondo se mantiene negro. Intenté usar @android:style/Theme.Translucent
en su lugar, pero este tema hereda la orientación de la actividad de llamada (paisaje) y eso no es lo que quiero.
Editar:
La aplicación que mantiene la previa de la cámara se ajusta a la vista horizontal, ya que no muestra la vista previa correctamente en orientación vertical. (Ver old google bug report)
Lo que quería hacer era poner una actividad independiente para la interfaz de interacción del usuario frente al soporte de la superficie de la cámara (esta actividad debería configurarse como 'retrato', o mejor aún 'sensor')
@android: Estilo/Theme.Translucent es transparente, pero corrige la vista de la orientación de la actividad subyacente (mi vista previa de cámara con vista horizontal). Esta vista debe ser retrato. –
Eso no tiene nada que ver con su fondo. Si no desea que su actividad cambie de orientación, eso se maneja de otras maneras, como 'android: screenOrientation =" portrait "' en su manifiesto. – CommonsWare
Lo siento, no lo mencioné, pero eso es exactamente lo que hice. (Editaré la publicación con mi manifiesto). Gracias por tus consejos hasta ahora. –