Ответ очень прост, попробуйте это: -
Сначала создайте собственное всплывающее окно и назначьте ему собственный макет.
private fun channelPopup(){
// addDummyProfile()
channelDialog = Dialog(context)
channelDialog!!.requestWindowFeature(Window.FEATURE_NO_TITLE)
val lp = channelDialog!!.getWindow()!!.getAttributes()
val window = channelDialog!!.getWindow()
window!!.setGravity(Gravity.CENTER)
channelDialog!!.getWindow()!!.setAttributes(lp)
channelDialog!!.getWindow()!!.addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND)
channelDialog!!.setCanceledOnTouchOutside(true)
channelDialog!!.setCancelable(true)
channelDialog!!.setContentView(R.layout.exitsing_channel_layout)
val tv_videos_no: TextView = channelDialog!!.findViewById(R.id.tv_videos_no) as TextView
val recycler_channel = channelDialog!!.findViewById<RecyclerView>(R.id.recycler_channel)
recycler_channel!!.layoutManager= LinearLayoutManager(context)
channelAdapter = ChannelAdapter(tv_videos_no)
recycler_channel!!.adapter = channelAdapter
channelDialog!!.show()
}
, а затем в макете задайте для родительского макета собственный фон, создайте новый отрисовываемый файл XML и вставьте его:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid
android:color="@color/white"/>
<corners
android:radius="30dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
и затем установите этот рисуемый XML в качестве фона для родительского макета пользовательского всплывающего макета XML.
Добавьте эту строку в пользовательский всплывающий файл Java.
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));