【问题标题】:Setting ScaleType.MATRIX to Custom ImageView shrink the initial display of image将 ScaleType.MATRIX 设置为 Custom ImageView 会缩小图像的初始显示
【发布时间】:2020-09-09 14:10:42
【问题描述】:

我正要创建自己的自定义 ImageView,所以我创建了下面的类。

class MyImageView @JvmOverloads constructor(
    context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
) : AppCompatImageView(context, attrs, defStyleAttr) {
}

默认情况下(即没有setScaleType(ScaleType.MATRIX)),它看起来如下(非常适合屏幕)。

所以如果我在init 中添加setScaleType(ScaleType.MATRIX),它会变成如下所示。

class MyImageView @JvmOverloads constructor(
    context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0
) : AppCompatImageView(context, attrs, defStyleAttr) {


    init {
        setScaleType(ScaleType.MATRIX)
    }
}

为什么会缩小?我可以做些什么来仍然使用ScaleType.MATRIX 但它最初显示适合屏幕?

【问题讨论】:

    标签: android imageview android-imageview


    【解决方案1】:

    矩阵缩放类型默认不应用缩放类型,因此图像将被调整为原始大小。

    在这种情况下,图像比视图小,因此它被缩小得更小。不指定ScaleType,它将FitCenter,因此放大较小的图像以适应视图大小。

    更多解释here

    【讨论】:

      猜你喜欢
      • 2011-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多