Dialogo / Popup di image di Android

È ansible avere solo un'image popup / come-up in un'applicazione Android? È simile a un overriding della visualizzazione normale di un AlertDialog in modo che contenga solo un'image e nient'altro.

SOLUZIONE: Sono riuscito a trovare una risposta grazie all'aiuto di @ blessenm. La mascheratura di un'attività come dialogo sembra essere il modo ideale. Il seguente è il codice che ho usato. Questa attività in stile di dialogo può essere invocata come richiesto dall'applicazione allo stesso modo in cui una nuova attività verrà avviata

  • Android: Scorrimento di un Imageview
  • Larghezza percentuale in RelativeLayout
  • Convertire Json Array nel normale Array Java
  • Visualizzazioni duplicate su Android durante l'esecuzione
  • Come avviare automaticamente un'applicazione Android?
  • Qual è l'utilizzo del file res / values ​​/ public.xml su Android?
  • ImageDialog.java

    public class ImageDialog extends Activity { private ImageView mDialog; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.your_dialog_layout); mDialog = (ImageView)findViewById(R.id.your_image); mDialog.setClickable(true); //finish the activity (dismiss the image dialog) if the user clicks //anywhere on the image mDialog.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { finish(); } }); } } 

    your_dialog_layout.xml

     <?xml version="1.0" encoding="UTF-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/image_dialog_root" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:color/transparent" android:gravity = "center"> <ImageView android:id="@+id/your_image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src = "@drawable/your_image_drawable"/> </FrameLayout> 

    È fondamentale impostare lo stile seguente per l'attività per eseguire questo:

    styles.xml

      <style name="myDialogTheme" parent="@android:style/Theme.Dialog"> <item name="android:windowNoTitle">true</item> <item name="android:windowFrame">@null</item> <item name="android:background">@android:color/transparent</item> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowIsFloating">true</item> <item name="android:backgroundDimEnabled">false</item> <item name="android:windowContentOverlay">@null</item> </style> 

    Il passo finale è dichiarare questo stile per l'attività nel manifesto come segue:

      <activity android:name=".ImageDialog" android:theme="@style/myDialogTheme" /> 

  • Accelerare la velocità di animation del cassetto di navigazione alla chiusura?
  • Come disegnare una vista in cima a tutto?
  • Imposta chiave e valore nel filatore
  • ricevitore di trasmissione per chiamata persa in android
  • Pratica migliore per mantenere i dati in memory e database contemporaneamente su Android
  • _vscprintf equivalente su Android?
  • 5 Solutions collect form web for “Dialogo / Popup di image di Android”

    Se vuoi solo utilizzare un dialogo non molto simile a questo dovrebbe funzionare

     Dialog settingsDialog = new Dialog(this); settingsDialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE); settingsDialog.setContentView(getLayoutInflater().inflate(R.layout.image_layout , null)); settingsDialog.show(); 

    image_layout.xml

     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="YOUR IMAGE"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="OK" android:onClick="dismissListener"/> </LinearLayout> 

    No xml:

     public void showImage() { Dialog builder = new Dialog(this); builder.requestWindowFeature(Window.FEATURE_NO_TITLE); builder.getWindow().setBackgroundDrawable( new ColorDrawable(android.graphics.Color.TRANSPARENT)); builder.setOnDismissListener(new DialogInterface.OnDismissListener() { @Override public void onDismiss(DialogInterface dialogInterface) { //nothing; } }); ImageView imageView = new ImageView(this); imageView.setImageURI(imageUri); builder.addContentView(imageView, new RelativeLayout.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); builder.show(); } 

    Il modo più flessibile e consigliato è utilizzare DialogFragment. Se si desidera supportre le versioni prima del 3.0 è ansible utilizzare la libreria di compatibilità

    C'è un paio di modi per farlo. Tuttavia, se stai cercando di far apparire la tua image piuttosto al di sopra dell'attività esistente, puoi utilizzare un'attività con android: theme = "@ style / Theme.Transparent" definito nel manifesto. Quindi, disegnare il layout per avere un solo ImageView posizionato al centro dello schermo. L'utente dovrà spingere il button indietro per uscire da questo, ma suona come questo è quello che vuoi.

    Se si desidera che si tratti di una window di dialogo effettiva, è sempre ansible utilizzare un'attività di dialogo che utilizza Theme.Dialog. OPPURE, puoi solo usare una window di dialogo e personalizzarla.

    Senza utilizzare Dialog è ansible utilizzare questa libreria per rendere l'image popup molto facilmente.

    https://github.com/chathuralakmal/AndroidImagePopup

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.