Вставить фрагмент диалога - PullRequest
0 голосов
/ 27 апреля 2019

У меня есть собственный DialogFragment

class CompactPickerFragment : DialogFragment()

По умолчанию он исчезает, я хочу, чтобы он скользил снизу.

Я пробовал следующие вещи (все, кроме одного, найденного при переполнении стека):

Сначала определите стиль как:

<style name="DialogTheme" parent="Some parent, I've tried different parents here"> //
    <item name="android:windowEnterAnimation">@anim/slide_in_left</item>
    <item name="android:windowExitAnimation">@anim/slide_out_right</item>
</style>

Слайд-анимация работает в других частях приложения при перемещении фрагмента. Установите эту тему по-разному:

class CompactPickerFragment : DialogFragment() {

    // Attempt 1
    override fun getTheme() = R.style.DialogTheme

   // Attempt 2
    override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {         
       val builder = AlertDialog.Builder(activity!!, R.style.DialogTheme)
        return builder.create()
   }

    // Attempt 3
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setStyle(STYLE_NO_FRAME, R.style.DialogTheme)

При этих попытках все грубые дали эту картину «без изменений» - «с изменениями» (без анимации):

beforeafter

И я также попытался установить входное транзистор, но ему не удалось заставить это сделать что-либо:

private fun ShowPicker() {
    val slide = Slide()
    slide.duration = 1000
    slide.slideEdge = Gravity.BOTTOM
    slide.mode = MODE_IN
    val dialog = CompactPickerFragment.newOperandInstance()
    dialog.enterTransition = slide
    dialog.show(fragmentManager, CompactPickerFragment.TAG)
}

Как вы предоставляете переход / анимацию к пользовательскому фрагменту диалога?

1 Ответ

0 голосов
/ 27 апреля 2019

Вы должны попробовать это show-dialogfragment-with-animation-grow-from-a-point

...