Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在动画过程中消除此黑条?_Android_Animation_Transition - Fatal编程技术网

Android 如何在动画过程中消除此黑条?

Android 如何在动画过程中消除此黑条?,android,animation,transition,Android,Animation,Transition,我正在尝试对活动转换执行自定义动画。活动应该平稳地向上滑动,而不是从侧面滑动。它可以工作,但视图顶部有一个黑色条(与状态条大小相同)。我怎样才能摆脱黑酒吧?以下是我正在使用的代码: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); overrid

我正在尝试对活动转换执行自定义动画。活动应该平稳地向上滑动,而不是从侧面滑动。它可以工作,但视图顶部有一个黑色条(与状态条大小相同)。我怎样才能摆脱黑酒吧?以下是我正在使用的代码:

@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>


编辑:如果我让所有的活动都全屏显示,效果会很好。当然,我不希望所有的活动都是全屏的。

好吧,我尝试了一些事情,比如制作相对于父级的delta等等。我认为核心问题是活动在顶部有额外的空间,即黑色条。就我所能看到的而言,除了把它从活动中拉出来,让它成为一个视图之外,真的没有什么可以做的


将该视图放置到ViewAnimator中,然后将“入”和“出”过渡设置为我已经列出的过渡,效果非常好。我确信没有其他方法可以做到这一点。如果有人想出了一个办法,请告诉我,但这解决了我的问题。

好的,找到了一种方法。在要设置动画的活动中,重写onCreate方法。在调用setContentView之前(我不知道这是否必要,但这是我执行的顺序),请添加以下代码段:

ColorDrawable colorDrawable = new ColorDrawable( Color.TRANSPARENT );
getWindow().setBackgroundDrawable( colorDrawable );
这对我来说很有吸引力,到目前为止我还没有看到任何其他副作用

事实上,我遇到了同样的问题,偶然发现了你的问题。希望这对你有所帮助

  • 马马虎虎

编辑:在运行2.3.4的Nexus One上进行了测试,我知道这个问题已经很老了,但我遇到了同样的问题(活动顶部的黑条/空格),这为我解决了这个问题:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    getWindow().setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
            WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

    setContentView(R.layout.your_layout);
}

希望这将有助于偶然发现这个问题的人:)

解决方案是在重写Transition()时防止黑色背景

在清单中将活动的主题设置为
theme.transparent
,也可以获得相同的效果。比如这里:我做了一些简单的事情,但是我的布局上有一张背景图片。我使用以下代码来处理这个问题:getWindow().setBackgroundDrawableResource(R.drawable.picture);结果表明,设置Theme.Translucent会干扰overridePendingTransition动画(在我的例子中,退出动画未被播放)。OP的解决方案没有这样的问题。在我的情况下,我有另一个活动。因此,将背景设置为透明不起作用。一旦我有一个solution@groomsy这将使整个活动透明,除了黑色条,现在是灰色的,你说“将其从活动中拉出并使其成为视图”是什么意思?这将在屏幕上显示所有内容