Как отключить затемнение моего приложения при отображении BottomSheetDIalogFragment?

В настоящее время я разрабатываю приложение для Android на Kotlin, в котором я использую фрагмент BottomSheetDialog. Всякий раз, когда появляется диалоговое окно, остальная часть экрана затемняется. Можно как-нибудь это отключить? Я не хочу щелкать по экрану за фрагментом, я просто хочу, чтобы он отображался незатененным. Заранее спасибо:

XMl фрагмента:

      <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/dark_green"
    >


    <TextView
        android:id="@+id/Title"
        android:layout_width="304dp"
        android:layout_height="50dp"
        android:layout_marginStart="50dp"
        android:layout_marginTop="20dp"
        android:layout_marginEnd="50dp"
        android:layout_marginBottom="20dp"
        android:lineSpacingExtra="8sp"
        android:textAlignment="center"
        android:textColor="#CCDEEE"
        android:textSize="24sp"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.571"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.0" />

    <TextView
        android:id="@+id/Snippet"
        android:layout_width="304dp"
        android:layout_height="50dp"
        android:layout_marginStart="50dp"
        android:layout_marginTop="90dp"
        android:layout_marginEnd="50dp"
        android:layout_marginBottom="20dp"
        android:lineSpacingExtra="8sp"
        android:textAlignment="center"
        android:textColor="#CCDEEE"
        android:textSize="24sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.571"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.0" />

    <TextView
        android:id="@+id/Position"
        android:layout_width="304dp"
        android:layout_height="70dp"
        android:layout_marginStart="50dp"
        android:layout_marginTop="160dp"
        android:layout_marginEnd="50dp"
        android:layout_marginBottom="60dp"
        android:lineSpacingExtra="8sp"
        android:textAlignment="center"
        android:textColor="#CCDEEE"
        android:textSize="24sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.571"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.0" />

</androidx.constraintlayout.widget.ConstraintLayout>

Вот изображение приложения, чтобы вы могли понять, что я имею в виду:

https://imgur.com/u6MYYKW

1 ответ

Я полагаю, вы используете компонент навигации Android Jetpack, если нет, может быть, вам стоит, поэтому вы можете посмотреть это отличное видео Чета Хааза из команды разработчиков Android.

Теперь, переходя к деталям вашего вопроса, вы можете использовать любой из двух вариантов, которые я указываю ниже в коде:

      package com.example.myapp

import ...

class MyBottomSheetDialog : BottomSheetDialogFragment() {

    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View {

        //Option 1:
        dialog?.window?.setDimAmount(0F)
        
        //Option 2:
        dialog?.window?.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND)

        return inflater.inflate(R.layout.my_dialog, container, false)
    }
}
Другие вопросы по тегам