Android ImageView 调整大小问题

Posted

技术标签:

【中文标题】Android ImageView 调整大小问题【英文标题】:Android ImageView Resize Issue 【发布时间】:2017-04-28 21:34:28 【问题描述】:

ImageView里面有一张图片。

我想通过调整ImageView的宽度和长度来放大图片。

此处列出了代码:

 mZoomInBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() 

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) 

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) 

        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) 
            double zoomInRatio = (mZoomInBar.getProgress() / 25.00d) + 1;
            mMapBed.getLayoutParams().height = (int)(zoomInRatio * mapOriginalHeight);
            mMapBed.requestLayout();
            mMapBed.getLayoutParams().width = (int)(zoomInRatio * mapOriginalWidth);
            mMapBed.requestLayout();
        
    );

高度现在可以缩放,但宽度甚至不会改变一点。我不知道为什么。

顺便说一下,ImageView的xml部分是这样的:

<ScrollView
        android:layout_
        android:layout_
        android:layout_weight="1">

        <HorizontalScrollView
            android:layout_
            android:layout_>

            <ImageView
                android:layout_
                android:layout_
                android:background="@mipmap/nycsubway"
                android:id="@+id/map">
            </ImageView>

        </HorizontalScrollView>

    </ScrollView>

有什么想法吗?非常感谢!

编辑:

我发现了问题所在:布局。

如果我将 Horizo​​ntalScrollView 放在 ScrollView 之前,宽度可以缩放,但高度不能缩放; Horizo​​ntalScrollView 之前的 ScrollView,Height 可缩放,但 Width 不可缩放。

如何解决这个问题...?

问题解决了!

原来,图片应该使用android:src显示,xml中需要android:adjustViewBounds="true"。

【问题讨论】:

你可能不需要调用 requestLayout 两次,你可以调用一次。如果 double 到 int 转换有任何问题,还请检查以打印宽度值。 我只尝试了一次,但没有帮助。 生成的宽度值是多少?另外,您是否尝试过设置 mmapBed.setlayoutParams() ? 宽度是1500左右的数字。回家后我会试试Setlayoutparams。 【参考方案1】:

试试这个

   <ScrollView
        android:layout_
        android:layout_
    >

【讨论】:

以上是关于Android ImageView 调整大小问题的主要内容,如果未能解决你的问题,请参考以下文章

需要调整 Android ImageView 的大小以匹配不断变化的 Drawable 大小

Android ListView toRightOf ImageView 具有不同大小而无需调整图像大小

如何为不同的屏幕尺寸android studio自动调整imageview的大小?

ImageView 调整大小并保持纵横比

删除 ImageView 自动调整大小

如何将ImageView放在Xamarin.Android应用程序中,根据设备屏幕大小自行调整大小?