Android Studio 0.4.5
Documentazione Android per la creazione di finestre di dialogo personalizzate: http://developer.android.com/guide/topics/ui/dialogs.html
Se si desidera una finestra di dialogo personalizzata, è possibile invece visualizzare un'attività come finestra di dialogo anziché utilizzare le API della finestra di dialogo. Basta creare un'attività e impostare il tema su Theme.Holo.Dialog nell'elemento <activity>manifest:
<activity android:theme="@android:style/Theme.Holo.Dialog" >
Tuttavia, quando ho provato questo ottengo la seguente eccezione:
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity
Sto supportando quanto segue e non posso usare qualcosa di maggiore di 10 per il minimo:
minSdkVersion 10
targetSdkVersion 19
Nei miei stili ho il seguente:
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
E nel mio manifest ho questo per l'attività:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:theme="@android:style/Theme.Holo.Light.Dialog"
android:name="com.ssd.register.Dialog_update"
android:label="@string/title_activity_dialog_update" >
</activity>
Creare la finestra di dialogo in questo modo era qualcosa che mi aspettavo di fare, poiché ho già completato il layout.
Qualcuno può dirmi come posso aggirare questo problema?
AppCompatquale è la libreria di supporto per supportare le barre delle azioni al di sotto del livello api 11. Basta usare android:theme="@style/AppTheme" >per l'attività in manifest
AndroidManifest.xml, il tema che stai specificando per la tua attività sta sostituendo il tema che stai specificando per la tua applicazione. Rimuovi la android:themelinea dal <activity>tag.