Диалоговое окно / всплывающее окно изображения Android

Возможно ли иметь только всплывающее / всплывающее изображение в приложении Android? Это похоже на переопределение обычного представления AlertDialog, чтобы он содержал только изображение и ничего больше.

РЕШЕНИЕ: Я смог найти ответ благодаря помощи @ blessenm. Идеальным способом кажется замаскировать действие в виде диалога. Ниже приведен код, который я использовал. Это действие в стиле диалогового окна может быть вызвано приложением по мере необходимости так же, как новое действие будет запущено

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>

Крайне важно, чтобы вы установили следующий стиль для выполнения действия это:

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>

Последний шаг - объявить этот стиль для действия в манифесте следующим образом:

 <activity android:name=".ImageDialog" android:theme="@style/myDialogTheme" />
48
задан Abhijit 23 November 2011 в 19:56
поделиться