ImageView 不遵守 CardView 的大小
ImageView is not respecting the size of the CardView
我正在尝试制作某种画廊应用程序。我想在 GridLayout 内的 ScrollView 内显示图像,所以我为此使用了 CardView,它看起来像这样:
但是当我将 ImageView 放入每个 CardView 中时,CardView 展开并填满了整个 ScrollView。这是预览:
CardView 是以编程方式创建的。这是代码
fun CreateCardView(ItemCount: Int){
for (i in 1 until ItemCount){
/////////////////////CARD VIEW//////////////////////////////
val card_view = CardView(this)
card_view.radius = 8F
card_view.setContentPadding(8,8,8,8)
card_view.setCardBackgroundColor(Color.LTGRAY)
card_view.cardElevation = 8F
val param = GridLayout.LayoutParams()
param.rowSpec = GridLayout.spec(GridLayout.UNDEFINED, 1f)
param.columnSpec = GridLayout.spec(GridLayout.UNDEFINED, 1f)
card_view.layoutParams = param
val param2 = card_view.layoutParams as GridLayout.LayoutParams
param2.setMargins(10,10,10,10)
card_view.layoutParams = param2
subLayoutGrid?.addView(card_view)
////////////////////////END//////////////////////////////////////
///////////////////////IMAGEVIEW////////////////////////////////
val img = ImageView(this)
val imageparams = WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT
)
img.layoutParams = imageparams
img.scaleType = ImageView.ScaleType.CENTER_CROP
img.setImageResource(R.drawable.animaleight)
card_view.addView(img)
////////////////////////END///////////////////////////
}
}
如何在不填充整个 ScrollView 的情况下将 ImageView 放入 CardView 中?
我已经解决了我的问题。我尝试使用 40px x 40px 图片然后它按照我想要的方式工作。看图:
当您使用高分辨率图片时,应用程序无法处理 ImageView 在 GridLayout 中的填充。
我正在尝试制作某种画廊应用程序。我想在 GridLayout 内的 ScrollView 内显示图像,所以我为此使用了 CardView,它看起来像这样:
但是当我将 ImageView 放入每个 CardView 中时,CardView 展开并填满了整个 ScrollView。这是预览:
CardView 是以编程方式创建的。这是代码
fun CreateCardView(ItemCount: Int){
for (i in 1 until ItemCount){
/////////////////////CARD VIEW//////////////////////////////
val card_view = CardView(this)
card_view.radius = 8F
card_view.setContentPadding(8,8,8,8)
card_view.setCardBackgroundColor(Color.LTGRAY)
card_view.cardElevation = 8F
val param = GridLayout.LayoutParams()
param.rowSpec = GridLayout.spec(GridLayout.UNDEFINED, 1f)
param.columnSpec = GridLayout.spec(GridLayout.UNDEFINED, 1f)
card_view.layoutParams = param
val param2 = card_view.layoutParams as GridLayout.LayoutParams
param2.setMargins(10,10,10,10)
card_view.layoutParams = param2
subLayoutGrid?.addView(card_view)
////////////////////////END//////////////////////////////////////
///////////////////////IMAGEVIEW////////////////////////////////
val img = ImageView(this)
val imageparams = WindowManager.LayoutParams(
WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.WRAP_CONTENT
)
img.layoutParams = imageparams
img.scaleType = ImageView.ScaleType.CENTER_CROP
img.setImageResource(R.drawable.animaleight)
card_view.addView(img)
////////////////////////END///////////////////////////
}
}
如何在不填充整个 ScrollView 的情况下将 ImageView 放入 CardView 中?
我已经解决了我的问题。我尝试使用 40px x 40px 图片然后它按照我想要的方式工作。看图:
当您使用高分辨率图片时,应用程序无法处理 ImageView 在 GridLayout 中的填充。