2011-04-06 76 views
3

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

@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); 
} 

动画UPIN:

<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate android:fromYDelta="100%" android:toYDelta="0%" android:duration="500" /> 
</set> 

动画upout:

<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <translate android:fromYDelta="0%" android:toYDelta="0%" android:duration="500" /> 
</set> 

编辑:如果我让所有的活动全屏它完美。当然,我不希望所有的活动都是全屏。

回答

1

好吧,我尝试了一些事情,比如让父母等相对变化。我认为核心问题是活动在顶部有额外的空间,那就是黑色的吧台。就我所能看到的而言,除了将它从活动中排除出去并使其​​成为一个视图之外,没有什么可以做的。

将该视图放入ViewAnimator,然后设置进入和退出过渡到我已经列出的那些工作就像一个魅力。我深信没有其他办法可以做到这一点。如果有人想出来,让我知道,但这解决了我的问题。

+1

你能提供样本代码吗?谢谢 – 2015-01-27 23:58:39

+1

你是什么意思“把它从活动中拉出来,让它成为一个视图” – 2015-10-08 06:50:16

7

好的,找到了一个这样做的方法。在您正在进行动画的活动中,覆盖您的onCreate方法。你叫的setContentView(我不知道这是否是必要的,但它是在我做的顺序)之前,添加以下代码片段:

ColorDrawable colorDrawable = new ColorDrawable(Color.TRANSPARENT); 
getWindow().setBackgroundDrawable(colorDrawable); 

这工作就像一个魅力对我来说,我还没有看到任何其他副作用。

我实际上遇到了同样的问题,并偶然发现你的问题。希望你觉得这有帮助。

  • groomsy

编辑:测试在Nexus One上运行2.3.4

+1

+1伟大的解决方案!在TMobile G2x上运行2.3.3 – Theo 2012-01-20 17:22:45

+0

您也可以通过将活动主题设置为清单中的Theme.Translucent来获得相同的效果。像这里:http://stackoverflow.com/a/6468734/483708 – Theo 2012-01-20 18:58:28

+0

我做了一些类似,但我有我的布局背景图片。我使用下面的代码来处理: getWindow()。setBackgroundDrawableResource(R.drawable.picture); – MinceMan 2012-01-22 05:24:11

1

我知道这个问题是很老,但我在上面碰到了同样的问题(黑条/空间活动和)这个固定对我来说:

@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); 
} 

希望这会帮助别人谁在这个问题:)

绊倒