我正在尝试对 Activity 转换执行自定义动画。该 Activity 应该平稳向上滑动,而不是从侧面滑动。它有效,但 View 顶部有一个黑条(与状态栏大小相同)。我怎样才能摆脱黑条?这是我正在使用的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
overridePendingTransition(R.anim.upin, R.anim.upout);
setContentView(R.layout.screen_login);
}
动画上线:
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromYDelta="100%" android:toYDelta="0%" android:duration="500" />
</set>
动画输出:
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromYDelta="0%" android:toYDelta="0%" android:duration="500" />
</set>
编辑:如果我将所有 Activity 全屏显示,它就可以完美运行。当然,我不希望所有 Activity 都是全屏的。
最佳答案
好的,找到了一个方法。在您要制作动画的 Activity 中,覆盖您的 onCreate 方法。在你调用 setContentView 之前(我不知道这是否有必要,但这是我做的顺序),添加这个代码 fragment :
ColorDrawable colorDrawable = new ColorDrawable( Color.TRANSPARENT );
getWindow().setBackgroundDrawable( colorDrawable );
这对我来说就像一个魅力,我还没有看到任何其他副作用。
我实际上遇到了同样的问题并且偶然发现了你的问题。希望这对您有所帮助。
- 整洁
编辑:在运行 2.3.4 的 Nexus One 上测试
关于android - 如何在动画期间摆脱这个黑条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5572867/