2012-05-08 30 views
0

當我創建SurfaceView並嘗試打開菜單時,菜單卡在SurfaceView下。 當我將surfaceView設置爲透明時,這在SurfaceView爲空時工作,但一旦它被填充,它就不會讓任何東西出現在它的前面。SurfaceView不斷透視菜單

有誰知道如何解決這個問題? 這是我的init:

private void init(Context context) { 
    this.context = context; 
    SurfaceHolder holder = getHolder(); 
    holder.setFormat(PixelFormat.TRANSPARENT); 
    holder.addCallback(this); 

SurfaceView over the menu

回答

0

我不知道的可能性迫使Android的菜單被透支的表面。我前段時間做的GLSurface是實現我自己的菜單並將其添加到表面之後的視圖列表中。下面是一個例子(無法編譯):

surface = new GLSurfaceView(this, handler); 
    menu = new MenuView(context); 

    menu.setOption("Option 1"); 
    menu.setOption("Option 2"); 

    surface.setRenderer(new OpenGLRenderer(handler)); 
    setContentView(surface); 

    addContentView(menu, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)); 
+0

這個菜單不是由我自己生成的,這是一個由系統自動生成的菜單。因此,我認爲我必須用自己的SurfaceView做一些事情,例如它自我更新的方式。 – Michael

+0

我與系統菜單有同樣的問題,所以我做了我自己的:D – Moss

+0

我現在紮根了android並刪除了我的應用程序中的整個菜單欄,這足夠了。 – Michael