如何根据其父视图大小设置ImageView可绘制大小?

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

我在相对布局中有imageView。当我创建活动时,我运行线程以从Internet抓取位图并设置imageView。

我想要的是在保持宽高比的同时,根据相对视图大小调整位图的大小以进行缩放。调整图像大小的代码正在工作,但是我要做的是通过调用myRelativeView.getWidth()myRelativeView.getHeight()来获得相对视图大小,我觉得我不应该这样做,因为文档说它可能返回0。在这种情况下检索相对视图大小的最佳方法?

android view imageview drawable scale
2个回答
1
投票

根据您的要求修正:]

如果您不想更改大小:将ImageView scaleType设置为“矩阵”

如果要更改尺寸但要保持宽高比:将ImageView scaleType设置为“ fitCenter”(或“ fitStart”,“ fitEnd”)

更改代码:

ImageView image;

image = (ImageView)findViewById(R.id.yourImageView1);

image.setScaleType(ImageView.ScaleType.FIT_CENTER);

要更改XML:范例

<ImageView
    android:layout_width="match_parent"
    android:layout_width="match_parent"
    android:scaleType="fitCenter"
    android:src="ic_launcher"/>

0
投票

如果布局与整个屏幕成比例,则可以尝试:

Display display = getWindowManager().getDefaultDisplay();
        width = display.getWidth()

// *比例;或-dp;高度= display.getHeight()// * proportion2;或-dp;

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