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?
AppCompat
quale è 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:theme
linea dal <activity>
tag.