滑行库第一次不会填满整个宽度,但是第二次可以正常工作

问题描述 投票:3回答:1

这是我在这里的第一个问题,所以请对我轻松一点...

我的Android应用程序中的图像加载库Glide有一个奇怪的问题。

请原谅屏幕截图中的黑色方块,但我已签订合同,因此不得透露该应用程序的内容。代码本身也是如此(我将尽我所能)。

在我的应用程序中,我有一个带有某些片段的ViewPager,在一种片段中,我有一个图像,该图像可以将它的高度(宽度保持不变)]动态更改为2个选项之一(请参见下面的图像) 。如标题所示,我正在使用Glide加载该图像。

注意:对于每个高度,我都有一个合适的独立图像(以免与纵横比混淆),并且图像是ImageView的完全相同的大小(宽度X高度)

。当然,每次我调整ImageView的大小时,我也会加载适当的图像。

当图像为“大”时,它将完美填充ImageView。问题是,第一次显示片段时(默认为“小”图像),图像的左右两侧都有一些空白空间-即图像未占用ImageView的整个宽度(请记住,加载的图像的大小和ImageView的大小是相同的)。现在到了奇怪的部分:当我从“大”回到“小”时,图像完全适合ImageView而没有这些空间,它是第一次在屏幕上显示该片段。

在下面的屏幕快照中,我在除图像边缘之外的大部分图像上都涂了一个黑色正方形,并在开发人员选项菜单中启用了“显示布局边界”,这使我的问题更加明显:

这是默认(“小”)图像的外观:"small" image with spaces

我最多只能发布2个链接,因此没有“大”图像的屏幕截图,但是请相信我-它完全适合ImageView。

这是从“大”回到“小”的图像:"small" image without spaces

这里是一些代码:

我布局的相关部分:

 <FrameLayout
    android:id="@+id/frameLayout_sequence_presentation"
    android:layout_width="@dimen/galaxyPX1240"
    android:layout_height="@dimen/galaxyPX1185"
    android:layout_gravity="center_horizontal"
    android:layout_marginBottom="@dimen/galaxyPX100">

    <ImageView
        android:id="@+id/imageView_sequence_presentation"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

     //another view containing some buttons

</FrameLayout>

java的相关部分:

        //some code to determine whether we are loading "big"
        //or "small" image and set the size of "newHeight" accordingly

        mImageView.setImageDrawable(null);

        Glide.with(getActivity())
             .load(pictureUrl)
             .override(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL)
             .fitCenter() //just in case
             .into(mImageView);


        mflMediaContainer.getLayoutParams().height = newHeight;
        mflMediaContainer.requestLayout();

我已经尝试了所有可能的组合来打开或关闭它们:“ setImageDrawable(null)”,“。override(Target.SIZE_ORIGINAL,Target.SIZE_ORIGINAL)”和“ .fitCenter()”,但没有用-第一次有总是空的空间(进入“大”后又回到“小”-没有空的空间)。

这是我在这里的第一个问题,所以请对我轻松一点...我的Android应用程序中的图像加载库Glide存在一个奇怪的问题。请原谅屏幕截图中的黑色方块,但我...

android android-glide
1个回答
0
投票

我有同样的问题,但尚未找到答案。

© www.soinside.com 2019 - 2024. All rights reserved.