ImageView不考虑CardView的大小

问题描述 投票:0回答:1

我正在尝试制作某种图库应用。我想在GridLayout内的ScrollView内显示图像,所以我为此使用CardView,它看起来像这样:

CardView without images

但是当我将ImageView放入每个CardView时,CardView会展开并填充整个ScrollView。这是预览:

CardView with ImageView inside

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中?

kotlin cardview
1个回答
0
投票

我已经解决了我的问题。我尝试使用40px x 40px图片,然后按我想要的方式工作。见图片:Screenshot 1

似乎当您使用高分辨率图片时,该应用程序无法处理GridLayout中ImageView的填充。

© www.soinside.com 2019 - 2024. All rights reserved.