1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| private val mPopTitle: PopupWindow by lazy { PopupWindow(initPopView()).apply { // 有了contentView后要先测量一下才能拿到正确的高度 contentView.measure(View.MeasureSpec.UNSPECIFIED,View.MeasureSpec.UNSPECIFIED) width = ScreenUtils.getScreenWidth() height = contentView.measuredHeight isOutsideTouchable = true isFocusable = true setBackgroundDrawable(ColorDrawable(resources.getColor(R.color.black_35))) setOnDismissListener { tvTitle.setCompoundDrawablesRelativeWithIntrinsicBounds(0, 0, R.drawable.arrow_down_white, 0) PopUtils.clearDim(mContext) } } }
|
在initPopView()返回了contentView之后,要先测量一下再设置宽高。
contentView的xml里全是wrap_content。
因为需要黑色背景,直接加载popupwindow上就行了setBackgroundDrawable(ColorDrawable(resources.getColor(R.color.black_35)))