我與這一堆小時鬥爭,我無法弄清楚發生了什麼。我有幾個選項卡的應用程序。此選項卡由TabGroupActivity管理。 在這個標籤中,我必須開始一個透明的活動。如果我正常啓動(使用startActivity),它看起來不錯,但顯然,標籤欄不可點擊。由於透明度而可見,但不可「可達」。因此,爲了使標籤欄變得可用,我必須「startChildActivity」,這是一種定義用於瀏覽特定選項卡內的活動的方法。但是,當我這樣做時,會顯示活動,但不是透明的,背景是黑色的。 我嘗試了一切,但我無法看到我如何修復它。 下面是我認爲問題可以解決的代碼,因爲它是開始活動和子活動之間的唯一區別。透明的兒童活動有黑色背景
裏面的「主」的活動我加載所有的標籤,每個標籤都有相關的尋找這樣一個活動:
public class PreShowTabGroupActivity extends TabGroupActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
startChildActivity("PreshowActivity", new Intent(this, PreshowActivity.class));
}
}
應該是透明的是一個由「PreshowActivity」開業活動。
以下是TabGroupActivity類中的startChildActivity方法。它有我的嘗試透明,沒有運氣。
public void startChildActivity(String Id, Intent intent) {
Window window = getLocalActivityManager().startActivity(Id,intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
if (window != null) {
//window.set
mIdList.add(Id);
navController.notifyActivityChange();
setContentView(window.getDecorView());
window.getAttributes().alpha = 0;
window.getDecorView().setBackgroundColor(Color.TRANSPARENT);
window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
}
}
奇怪的是,如果我把顏色背景(如紅色或其他),背景改變爲該顏色。但如果我將其配置爲透明,背景爲黑色。
在我的Manifest中,我嘗試了透明和半透明的主題,但沒有運氣。
如果你能幫助我,我會充分理解它。
謝謝!
難道它背後有一個背景是黑色的,它確實是透明的,所以你看到它背後的黑色背景? – AJcodez 2012-02-07 17:53:56
雖然它,但我很確定它不是,因爲我在「startChildActivity」方法中做了以下測試:我將decorView背景設置爲RED,然後將窗口背景設置爲TRANSPARENT,而不是顯示RED背面,它顯示一個黑色的背景。 – DiamondGerace 2012-02-07 17:56:18