Recycleview+PopWindow仿iOS復(fù)制彈框

/**
     * 顯示刪除浮窗
     *
     * @param view  itemView對(duì)象
     * @param pos   位置
     */
    private fun showPopWindow(view: View, pos: Int) {
        val popHeight = DeviceUtils.dip2px(this, 35f)
        val popWidth = DeviceUtils.dip2px(this, 52f)
        if (mPopupMenu == null) {
            mPopupMenu = PopupWindow(
                View.inflate(this, R.layout.bbj_rv_userfavorite_popwindow, null),
                popWidth,
                popHeight
            )
            mPopupMenu!!.isTouchable = true
            mPopupMenu!!.setBackgroundDrawable(ColorDrawable())
        }
        mPopupMenu?.let {
            if (it.isShowing) it.dismiss()
            val offsetX = (popWidth + view.height) / 2
            var offsetY = (popHeight + view.height)
            var itemLocation = IntArray(1)
            view.getLocationInWindow(itemLocation)
            var recyclerLocation = IntArray(1)
            recyclerView.getLocationInWindow(recyclerLocation)

            //上方不足顯示
            if (itemLocation[2] - recyclerLocation[2] < offsetY) {
                it.showAsDropDown(view, offsetX, 0)
            } else {
                it.showAsDropDown(view, offsetX, -offsetY)
            }
        }
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容