如何以编程方式设置缩放类型

时间:2018-04-05 17:58:37

标签: android kotlin

我正在尝试通过onBindViewHolder方法设置图像的比例类型,因为图像看起来过于拉伸。我不得不评论最后一条评论,因为我不知道如何使用imageView.scaleType方法。

override fun onBindViewHolder(holder: PosterHolder, position: Int) {
    holder.view?.movie_poster?.setImageResource(R.drawable.beauty_and_the_beast_ver3)
    holder.view?.movie_poster?.scaleType = ImageView.ScaleType.FIT_CENTER
}

我是一名初学者,正在尝试用Kotlin学习Android。

This is the image

这就是我在模拟器上得到的结果:

enter image description here

1 个答案:

答案 0 :(得分:2)

来自您上传的屏幕截图&您在聊天中发布的代码,以下是您的问题:

  • 您已将RecyclerView list_item的高度设置为match_parent,这是错误的。设为wrap_content
  • 您已将正在测试的图像放在drawable文件夹中,该文件夹对于GridView中您期望的ImageView高度来说太大了。因此,您需要将其放在drawable-xxxhdpi文件夹中以使其更小一些。
  • 您需要将ImageView的高度设置为某些固定的dps,例如200dp,以便在您实际从API中加载可能具有不同分辨率的图像时防止看起来很奇怪的网格。
  • 最后,要隐藏不正确的ImageView身高和实际可绘制图片的高度,您需要将android:scaleType="fitXY"添加到ImageView list_item.xmlscaleType 1}}(当然,从API加载图像时,您需要确保来自服务器的图像具有相同的宽高比,因为您不会显示它以避免使用#creating a scatter plot matrix %matplotlib inline import seaborn as sns num_cols = ["Age","Height","Weight","Duration","Heart_Rate","Body_Temp","Calories"] sns.pairplot(frame(num_cols),size=2)