La actividad debe ser transparente, pero tiene fondo negro
Mi caso de uso es escribir una actividad de controlador de superposición para una vista previa de cámara de paisaje. Seguí las instrucciones de un par de tutoriales para escribir un tema transparente.
Así que mi res / values / style.xml se parece a esto:
- Establecer el color de enfoque de la vista de texto mediante programación / cambiar el color de enfoque en los temas
- Crear un diseño chatView en android
- TabLayout falta después de actualizar la biblioteca de soporte de diseño
- Listview en el lado de rleft y tabhost en el lado derecho con la proporción de 20:80 compartir pantalla
- Android ImageView escala tipo centerCrop
<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>
El fragmento de actividad:
<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 inicie esta actividad desde mi actividad raíz, el diseño se dibuja correctamente, pero el fondo permanece negro. Intenté usar @android:style/Theme.Translucent
en @android:style/Theme.Translucent
lugar, pero este tema hereda la orientación de la actividad llamante (landscape) y eso no es lo que quiero.
Editar:
La aplicación que contiene la vista previa de la cámara se ajusta a la vista horizontal ya que no muestra la vista previa correctamente en la orientación vertical. (Ver el informe de error de google antiguo )
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 estar en 'retrato', o incluso mejor en 'sensor')
- Espacio en blanco después de ImageView
- Disposición de Android que reemplaza una vista con otra vista en tiempo de ejecución
- Elemento RecyclerView que no muestra ondulaciones / retroalimentación táctil cuando el elemento tiene una casilla de verificación
- Margen dentro de los botones
- cómo usar z-index en android
- Cardview esquina fondo no transparente
- Cómo agregar elementos dinámicamente a una vista creada con XML
- Android support-v7 CardView: La vista de texto de encabezado con otro color de fondo no se extiende hasta que los bordes
Pruebe el built-in @android:style/Theme.Translucent
lugar de su personalizado, de acuerdo con esta entrada del blog . No he intentado hacer esto yo mismo, así que no sé si la técnica escrita sobre allí trabaja o no.
Me enteré de que faltaba otro elemento hijo importante para la descripción de estilo anterior <item name="android:windowIsTranslucent">true</item>
.
Problema:
Ese elemento secundario también provoca la sincronización de la orientación de la actividad con el llamante. (El mismo efecto que @android:style/Theme.Translucent
)
Me topé con el mismo problema que usted describe (con respecto a fondo translúcido y la orientación de la pantalla), pero al final me reconcilié con el hecho de que esto es sólo cómo funciona. De hecho, realmente tiene sentido que funcione de esta manera. No puedo pensar en cualquier sistema basado en la pantalla que apoya la mezcla de vistas de retrato y paisaje, así que ¿por qué Android?
Supongo que la regla general es que todas las actividades visibles deben tener la misma orientación, independientemente de los atributos en el archivo de manifiesto. Si todos están ajustados a "sensor"
entonces todos cambiarán, si uno está fijado en el retrato o el paisaje, entonces los demás deben seguir (y quien quiera que sea el último "gana").
Supongo que esto era tan obvio para los desarrolladores que no se les ocurrió a documentarlo 🙂
Eliminar y todo su hecho
@Override public void onAttachedToWindow() {}
- Cómo utilizar GWT-RequestFactory en Android SyncAdapter (siempre obteniendo ValidationTool-Error)
- Estilo de fuente de sugerencia diferente y escrito en estilo de fuente de texto android