android - 滑入对话框片段
问题描述
我有一个自定义 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)
}
您如何为自定义对话框片段提供过渡/动画?
解决方案
推荐阅读
- c# - 如何在 Azure Function 中加载 Access 文件 (.accdb)?
- kubernetes-helm - 带有 helm 图表的 skaffold init
- javascript - 具有不同参数的可重用 Ajax 调用
- swift - 导航视图背景颜色
- powershell - 如果我检查变量是否存在,请永远不要抓住
- wordpress - 在 elementor 中更改 Widget 类别的顺序
- c# - Webapi dynamic validations
- c# - Convert c#/selenium to python/selenium
- typescript - Hide a add/delete button after clicking the add, In angular8
- z3 - z3py 在循环中执行量词消除时停止