显示图像全屏然后对话框

时间:2013-12-17 06:39:58

标签: android

我有图像路径,我想在整个屏幕上显示图像,顶部有一个警告对话框。我该怎么办?

  1. 使用图像视图创建活动并将图像路径加载到位图中(使用采样以避免内存不足)。然后将imageview设置为此位图并在顶部显示警告对话框

  2. 使用View Intent,以便用户选择他/她的fav应用程序以查看图片并在顶部显示对话框。

  3. 现在有了第一个解决方案,我知道怎么做,但我总是担心我应该采样的大小,以避免内存不足。加上额外的工作:))

    使用第二个解决方案(我更喜欢),但我不知道在调用View Activity之后我将如何显示对话框,因为它将是显示图像的另一个应用程序,除非有一种我缺少的方式

    有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您可以在设备特定的高度宽度中显示图像....然后您不会因图像大小而内存不足。

这是代码:

@SuppressLint("NewApi")
    public static int getDeviceWidth(Activity activity) {
        int deviceWidth = 0;

        Point size = new Point();
        WindowManager windowManager = activity.getWindowManager();

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
            windowManager.getDefaultDisplay().getSize(size);
            deviceWidth = size.x;
        } else {
            Display display = windowManager.getDefaultDisplay();
            deviceWidth = display.getWidth();
        }
        return deviceWidth;
    }

    @SuppressLint("NewApi")
    public static int getDeviceHeight(Activity activity) {
        int deviceHeight = 0;

        Point size = new Point();
        WindowManager windowManager = activity.getWindowManager();

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
            windowManager.getDefaultDisplay().getSize(size);
            deviceHeight = size.y;
        } else {
            Display display = windowManager.getDefaultDisplay();
            deviceHeight = display.getHeight();
        }
        return deviceHeight;
    }

您可以使用设备高度和宽度..并在imageview中设置此图片..

ImageView image = new ImageView(viewHomeScreen);
        FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
                FrameLayout.LayoutParams.FILL_PARENT,
                FrameLayout.LayoutParams.FILL_PARENT);

        params.height = getDeviceHeight(activity);
        params.width = getDevicewidth(activity);
FrameLayout framelayout = new FrameLayout(viewHomeScreen);

        framelayout.addView(image, 0, params);