【发布时间】: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