设置recyclerview最大高度(kotlin)

/**
     * 设置recyclerview最大高度
     */
    fun setMaxHeight(recyclerView: RecyclerView) {

        recyclerView.viewTreeObserver.addOnGlobalLayoutListener(object : ViewTreeObserver.OnGlobalLayoutListener {
            override fun onGlobalLayout() {
                //设置recyclerView高度
                val layoutParams = recyclerView.layoutParams
                if (Build.VERSION.SDK_INT >= 16) {
                    recyclerView.viewTreeObserver
                            .removeOnGlobalLayoutListener(this)
                } else {
                    recyclerView.viewTreeObserver
                            .removeGlobalOnLayoutListener(this)
                }

                val wm = activity.getSystemService(Context.WINDOW_SERVICE) as WindowManager
                val height = wm.defaultDisplay.width
                if (recyclerView.height < height) {
                    layoutParams.height = recyclerView.height
                } else {
                    layoutParams.height = height
                }
                recyclerView.layoutParams = layoutParams

            }
        })

    }

猜你喜欢

转载自blog.csdn.net/qq_15867901/article/details/81736733