【问题标题】:How to get an imageView on Full Screen in Android?如何在 Android 中全屏获取 imageView?
【发布时间】:2016-01-08 13:18:54
【问题描述】:

我知道有很多这样的问题。但是,它们都试图在单击后将 imageView 带入全屏。

我想在不点击的情况下全屏显示 imageView。换句话说,当我点击我的位图时,我应该得到一个全屏的 imageView。我尝试了很多,但无法达到预期的效果。

到目前为止,我已经尝试了thread's所有可能的解决方案。

此外,我尝试使用多个缩放选项。

我正在使用大书呆子的牧场指南自学 android。我在下面附上我的代码和图片

public View onCreateView(LayoutInflater inflater,
                             ViewGroup parent, Bundle savedInstanceState) {
        imageView=new ImageView(getActivity());
        String path= (String) getArguments().getSerializable(FILE_PATH_NAME);
        BitmapDrawable image = PictureUtils.getScaledDrawable(getActivity(), path);
        float rotation= rotateImage(getActivity(), path);
        Log.i("RotateImagee", "Rotate valuee: " + rotation);
        imageView.setRotation(rotation + 90);
        imageView.setImageDrawable(image);
        imageView.setScaleType(ImageView.ScaleType.FIT_XY);
        imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
        return imageView;
    }

图片:

我希望屏幕完全被此图像覆盖,并具有适当的缩放比例。因此,请向我展示一个适当缩放的适当解决方案。

【问题讨论】:

  • 在“否决”之前,请仔细阅读说明。我清楚地将我的问题与其他问题区分开来!
  • 你试过imageView.setScaleType(ScaleType.FIT_XY); imageView.setAdjustViewBounds(true);吗?此外,第二次拨打setScaleType() 会使第一次毫无用处。
  • 感谢您的回复!我尝试了 setScaleType() 方法的所有可能组合。但是,我无法达到预期的效果。我也试过 imageView.setAdjustViewBounds(true);但没有得到结果。图像以不同的缩放比例保留在此帧中。它不会全屏显示
  • 向我们展示您的活动布局(以及您的片段如何嵌套在其中)。此外,在您设备的开发者设置中打开“突出显示布局边框”选项可能会有所帮助。

标签: android imageview android-camera fullscreen


【解决方案1】:

您只能使用一种比例类型,并且 CENTER_INSIDE 会覆盖 FIT_XY。 仅使用 FIT_XY。 Senconly 在创建 ImageView 时不会给它 layoutparams(默认为 wrap_content),因此您需要将 layoutparams 设置为 match_parent。没有它,imageView 会改变大小为 wrap_content 并且 FIT_XY 不会生效。

Here 是一个链接,如果你想让活动全屏。 你还需要删除ActionBar,Here

【讨论】:

  • 如上所述,我尝试了所有可能的附加线程组合。 imageView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));我使用了这段代码。我没有得到全屏视图,只是缩放视图。我也叫 FIT_XY。但是,我只得到了一个适当的缩放版本,它留在那个灰色框下!
  • 我不明白为什么它会停留在这个灰色框下。而且,这个灰色框代表什么。是我父母的布局吗?
  • “在那个灰盒子下”是什么意思?
  • 我假设您希望图像占据整个屏幕,对吗?
  • 那么您必须删除 ActionBar 并使您的活动全屏显示。或者,您可以创建一个全屏对话框。
【解决方案2】:

背景和工具栏是灰色的,这让我觉得你在DialogFragment 中显示你的ImageView,而不是普通的FragmentDialogFragments 有点不同。让它们全屏显示并非易事。如果您不想显示Dialog,那么我建议使用普通的Fragment 来显示ImageView

旁注:

  1. 考虑旋转 Bitmap,而不是 ImageView
  2. 考虑将 ImageView 放在布局文件中并对该布局文件进行扩充(您已经在 onCreateView 中传递了一个 LayoutInflater)

【讨论】:

    猜你喜欢
    • 2014-07-17
    • 2012-06-14
    • 1970-01-01
    • 1970-01-01
    • 2011-07-04
    • 1970-01-01
    • 2013-07-10
    • 1970-01-01
    • 2013-12-29
    相关资源
    最近更新 更多