【问题标题】:windowExitAnimation changes after using soft keyboard使用软键盘后 windowExitAnimation 发生变化
【发布时间】:2013-07-15 21:02:15
【问题描述】:

我有一个自定义对话框,它必须从屏幕底部向上滑动,然后在关闭时再次向下滑动。 (类似于软键盘的工作方式)。 自定义对话框包含一些要填写的文本字段。

我已经使用 windowEnter 和 windowExit 动画指定了我的自定义对话框样式。 首次创建对话框时,它会正确上下滑动。当您关闭它时,它会像应有的那样滑回。 但是在您填写其中一个字段并关闭键盘后,关闭动画就搞砸了。它向上滑动并消失,而不是像应有的那样向下滑动。 所以不知何故,打开和关闭键盘的行为会导致 windowExitAnimation 搞砸。

这是我的代码:

slide_up.xml(进入动画):

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromYDelta="100%p" android:toYDelta="0%p"
    android:duration="@android:integer/config_longAnimTime"/>

slide_down.xml(退出动画):

<?xml version="1.0" encoding="utf-8"?>
    <translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="@android:integer/config_longAnimTime"
    android:fromYDelta="0%p"
    android:toYDelta="100%p" />

styles.xml:

<style name="DialogAnimation">
        <item name="android:windowEnterAnimation">@anim/slide_up</item>
        <item name="android:windowExitAnimation">@anim/slide_down</item>
    </style>

    <style name="DialogSlideTheme" parent="@android:style/Theme.Dialog">
        <item name="android:windowAnimationStyle">@style/DialogAnimation</item>
    </style>

在活动的清单中,我将软输入模式设置为adjustNothing(因为我认为可能是键盘导致重新计算布局,因此动画被抛出):

android:windowSoftInputMode="adjustNothing"

就像我说的,当你第一次显示对话框时它工作正常,只有在你使用键盘后退出动画才会改变。

谢谢!

【问题讨论】:

  • 您找到解决方案了吗?我也有类似的问题。
  • @plsch 你解决了这个问题我也面临同样的问题

标签: android animation dialog android-alertdialog


【解决方案1】:

将 slide_down.xml 文件更改为以下内容:

<?xml version="1.0" encoding="utf-8"?>
    <translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="@android:integer/config_longAnimTime"
    android:fromYDelta="0%"
    android:toYDelta="100%" />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-18
    • 2014-08-07
    • 2011-01-13
    • 1970-01-01
    • 1970-01-01
    • 2022-12-19
    • 2019-02-28
    相关资源
    最近更新 更多