ImageView не учитывает размер CardView

Я пытаюсь сделать какое-то приложение для галереи. Я хотел бы отображать изображения внутри ScrollView внутри GridLayout, поэтому я использовал для этого CardView, и это выглядит так:

CardView без изображений

Но когда я помещаю ImageView внутрь каждого CardView, CardView распространяется и заполняет весь ScrollView. Вот предварительный просмотр:

CardView с ImageView внутри

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



    }

}

Как я могу поместить ImageView внутри CardView, не заполняя весь ScrollView?


person GeraldTDPI    schedule 19.11.2019    source источник
comment
Любая помощь будет оценена!!!!!!!! :)))))   -  person GeraldTDPI    schedule 19.11.2019
comment
Кто-нибудьееееееееее :((((   -  person GeraldTDPI    schedule 20.11.2019


Ответы (1)


Я уже исправил свою проблему. Я попытался использовать изображение размером 40 x 40 пикселей, и оно сработало так, как я хочу. См. изображение: Скриншот 1

Похоже, что когда вы используете изображение с высоким разрешением, приложение не может обрабатывать заполнение ImageView в GridLayout.

person GeraldTDPI    schedule 20.11.2019