Ho bisogno di mostrare una finestra di dialogo personalizzata nella mia applicazione Android. La progettazione standard AlertDialog
non è accettabile. docs Android dicono:sfondo finestra di dialogo personalizzata Android
Suggerimento: se si desidera una finestra di dialogo personalizzato, è possibile invece visualizzare un'attività come una finestra invece di utilizzare le API di dialogo. Basta creare un'attività e impostare il suo tema Theme.Holo.Dialog nell'elemento manifesta:
Questo è tutto. L'attività ora viene visualizzata in una finestra di dialogo invece di a schermo intero.
Sembra promettente. L'ho fatto, ma la trasparenza non funziona! Sfondo è sempre grigio:
Ecco un disc nel manifesto:
<activity
android:name=".MyDialogActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Holo.Dialog.NoActionBar" >
</activity>
Ecco una radice della mia attività:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:background="#00000000"
android:layout_width="400dp"
android:layout_height="wrap_content" >
// Content ... //
</RelativeLayout>
ho provato anche android:background="@null"
- effetto era lo stesso Se io uso android:background="#ff0000"
allora è rosso (come dovrebbe essere). Ma come faccio a renderlo trasparente?
Aggiornamento
ho finito con
<style name="MyThemeDialogCustom" parent="android:Theme.Holo.Dialog.NoActionBar" >
<item name="android:windowBackground">@color/transparent</item>
<item name="android:colorBackgroundCacheHint">@null</item>
</style>
La ringrazio molto per un'idea. La soluzione "così com'è" ha generato un'eccezione, quindi ho ereditato il tema da "android: Theme.Holo.Dialog.NoActionBar". Ho aggiornato la mia domanda per mostrare la soluzione. – Nick