Si può semplicemente utilizzare il tema di dialogo. Per fare questo, basta scrivere nel manifesto:
android:theme="@android:style/Theme.Dialog"
o
android:theme="@android:style/Theme.Holo.Dialog"
o semplicemente creando il tuo tema in styles.xml:
<style name="MyDialogTheme" parent="Theme.Holo.Dialog">
...
</style>
È possibile impostare come tema per xlarge o grande schermo creando styles.xml in valori-xlarge o valori-grandi cartelle.
Se si desidera impostare questo tema solo per i tablet, allora si può cambiare il tema in modo dinamico controllando la dimensione dello schermo come questo:
if (Configuration.SCREENLAYOUT_SIZE_XLARGE)
{
//setTheme(yourDialogTheme);
}
prega di controllare questa risposta se si vuole dialogare con barra delle operazioni. Puoi farlo creando la tua finestra di dialogo personalizzata.
Dialog themed activity with action bar
Custom dialog
EDIT: una risposta da google group post.Prova questo in XML con stili:
<style name="PopupTheme" parent="android:Theme.Holo.Light.Dialog">
<item name="android:windowIsFloating">false</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowSoftInputMode">stateAlwaysHidden</item>
<item name="android:windowActionModeOverlay">true</item>
<item name="android:windowIsTranslucent">true</item>
</style>
Nel codice Java
public static void showAsPopup(Activity activity) {
//To show activity as dialog and dim the background, you need to declare android:theme="@style/PopupTheme" on for the chosen activity on the manifest
activity.requestWindowFeature(Window.FEATURE_ACTION_BAR);
activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND,
WindowManager.LayoutParams.FLAG_DIM_BEHIND);
LayoutParams params = activity.getWindow().getAttributes();
params.height = LayoutParams.FILL_PARENT;
params.width = 850; //fixed width
params.alpha = 1.0f;
params.dimAmount = 0.5f;
activity.getWindow().setAttributes((android.view.WindowManager.LayoutParams) params);
}
fonte
2013-05-26 11:38:16
Ho provato questo e non ha alcun effetto sul mio Nexus 10. mio manifesto: styles.xml - @ Android: colore/trasparente
- @ android: color/transparent
–
Milo
Inoltre dovresti controllare questo [collegamento] (http : //developer.android.com/guide/topics/ui/themes.html) – Oli
Grazie, android: Theme.Holo.Dialog ha fatto il trucco. Non so perché, forse stavo ignorando altri stili da qualche altra parte. Tuttavia, non riesco a utilizzare ActionBar utilizzando quel tema. Ricevo una chiamata nullpointer: actionBar.setDisplayHomeAsUpEnabled (true); – Milo