У меня есть собственный 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)
При этих попытках все грубые дали эту картину «без изменений» - «с изменениями» (без анимации):
И я также попытался установить входное транзистор, но ему не удалось заставить это сделать что-либо:
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)
}
Как вы предоставляете переход / анимацию к пользовательскому фрагменту диалога?