【问题标题】:Slide in dialog fragment滑入对话框片段
【发布时间】:2019-04-27 18:07:03
【问题描述】:

我有一个自定义的 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)

这些尝试roughylu都给出了这个'没有变化'-'有变化'的图片(并且没有动画发生):

我还尝试设置输入转换,但没有设法让它做任何事情:

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)
}

如何为自定义对话框片段提供过渡/动画?

【问题讨论】:

    标签: android kotlin android-animation


    【解决方案1】:

    【讨论】:

    • 该解决方案是我在原始问题中尝试过的,但不确定我做错了什么/错过了
    • 确保在设置内容视图之前传递样式
    猜你喜欢
    • 1970-01-01
    • 2015-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多