DialogFragment закругленные углы - как установить прозрачность - PullRequest
0 голосов
/ 21 ноября 2018

Я сделал собственный макет для dialogFragment со скругленными углами, но когда диалог вызывается, углы скруглены, он выглядит так, как показано ниже.

https://i.imgur.com/aE4PMhZ.png

Я знаю, что мне нужно установить прозрачность dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);, но я не знаю, где поместить это в мой код, кроме того, я использую Kotlin.

Ниже приведена часть кода, где вызывается Dialog.

 myDialog = Event_Dialog.newInstance(args,args1)
                myDialog.show(fragmentManager, "MyDialog")

Это класс Event_Dialog.

class Event_Dialog : DialogFragment() {

companion object {

    fun newInstance(bundle: String, bundle1: String): Event_Dialog {
        //description
        val args: Bundle = Bundle()
        args.putString("desc", bundle)
        //link
        args.putString("link", bundle1)

        val fragmentDialog = Event_Dialog()
        fragmentDialog.arguments = args

        return fragmentDialog
    }
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
    val x = inflater.inflate(R.layout.event_detail, container, false)
some code.......
return x

Не могли бы вы сказать мне, ребята, где я должен установитьпрозрачность собственного фона?Спасибо!

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018

private void setDialog () {

getDialog (). GetWindow (). RequestFeature (Window.FEATURE_NO_TITLE);

getDialog (). GetWindow (). SetBackgroundDrawableResource (android.R.color.transparent);

getDialog (). getWindow (). setLayout (ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);

   getDialog().getWindow().setGravity(Gravity.CENTER);

getDialogledOut ().);

}

Теперь вызовите ваш setDialog () в вашем методе onCreateView

0 голосов
/ 21 ноября 2018

просто поместите его в oncreatedialog, например:

 override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
    val dialog = super.onCreateDialog(savedInstanceState)
    dialog.window.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
    return dialog
}

, и я предлагаю вам использовать разметку кадра в качестве корневого представления для своего диалога (сопоставить родительский кадр) и создать в нем макет вашего центра

...