我是新手程序员,我在禁用对话框动画(淡入和淡出)方面遇到了问题。
我尝试使用空样式来设置它并通过更改来设置它
final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
进入
final AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(getActivity(), R.style.NoAnimation));
对话框背景变黑,正反按钮变为<2.1 - 4.0)android风格,但淡入淡出动画效果保留...
我的风格:
<style name="DialogNoAnimation">
<item name="android:windowEnterAnimation">@anim/enter</item>
<item name="android:windowExitAnimation">@anim/exit</item>
</style>
<style name="NoAnimation" parent="@android:style/Theme.Dialog">
<item name="android:windowAnimationStyle">@style/DialogNoAnimation</item>
</style>
有什么办法可以消除这个动画吗?
最佳答案
终于成功了!
资源/动画/enter.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_shortAnimTime"/>
资源/动画/exit.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_shortAnimTime"/>
res/values/styles.xml
<style name="DialogNoAnimation">
<item name="android:windowEnterAnimation">@anim/enter</item>
<item name="android:windowExitAnimation">@anim/exit</item>
</style>
src/[dialog_box_class].java
@Override
public void onStart()
{
super.onStart();
if (getDialog() == null)
return;
getDialog().getWindow().setWindowAnimations(R.style.DialogNoAnimation);
}
关于android - 禁用(淡入和淡出)对话框动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18154438/