2011-04-06 78 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); 
} 

希望這會幫助別人誰在這個問題:)

絆倒