是否可以在Android應用程序中只彈出一個圖像?它類似於覆蓋AlertDialog的正常視圖,因此它只包含圖像而沒有其他內容。Android圖像對話框/彈出窗口
SOLUTION:感謝@ 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" />
爲什麼使用對話框風格活動,而不是一個對話本身做上述功能。它的任何具體原因,或只是一個設計選擇? – Avijeet
@Avijeet這是一個有效的問題,目標是展示一個浮動圖像 - 這是幾年前,當時視圖定製並不普遍。所以,將一個活動稱爲對話框是有意義的。事後看來,我可以使用'PopupWindow'或滾動我自己的自定義視圖 – Abhijit