如何根据它的父视图大小设置ImageView的绘制尺寸?(How to set ImageView

2019-09-26 19:22发布

我已经ImageView的一个相对布局内。 当我创建活动我运行线程从互联网虎视眈眈的位图,并设置ImageView的。

我要的是调整位图刻度基于相对视图大小,同时保持宽高比。 用于调整图像的代码工作,但我做的是我通过调用得到相对视图大小myRelativeView.getWidth() myRelativeView.getHeight()我觉得我不应该这样做,因为文档说,这可能返回0。那么,什么是检索在这种情况下,相对视图的大小最好方法是什么?

Answer 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"/>


Answer 2:

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

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

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



文章来源: How to set ImageView drawable Size based on Its parent view size?