2012-06-23 41 views
0

我正在製作一個小遊戲,目前,它有點被動地工作(它只在用戶點擊按鈕時運行並執行操作)。Android:有一個活動調用另一個單獨的java文件,它代表頂部動畫

但我想在它的頂部添加動畫,所以我有這種圖層,底層是按鈕和文本的普通視圖,在它上面我有一種運行畫布的surfaceview線程動畫。

我也希望使這兩個獨立的java文件,因爲我知道每個活動一次代表一個視圖,我可以一些如何使我的底部視圖,調用添加他頂部的surfaceview,讓他更新他自己,他應該,而底部視圖仍然是被動的?

回答

0

它的權利,一個活動代表一個視圖,並不意味着你不能堆疊它們。 您可以使用weight_sum爲1的LinearLayout,將您的SurfaceView的權重設爲0.8,將BottomView的權重設爲0.2。 這將允許你分開處理它們

+0

什麼重量究竟是什麼意思?這就像是說我的表面視圖會在屏幕(他的父母)和底部視圖的80%之外出現20%? –

+0

。你可以給視圖類似尺寸 –

0

活動不是視圖,而是包含視圖的集合。你需要的是一個單獨的活動,但將佈局分成兩部分。然後你可以說有一個LinearLayout包含一個SurfaceView和另一個包含你的按鈕和文本的佈局容器。然後,您應該能夠獨立於它下面的容器來爲您的SurfaceView設置動畫效果,這看起來就像您想要的那樣。

例如,類似的;

<LinearLayout android:id="@+id/parent"> 
    <SurfaceView android:id="@+id/surface"> 

    </SurfaceView> 

    <LinearLayout android:id="@+id/controls"> 
    <!-- Buttons and text --> 
    </LinearLayout> 
</LinearLayout> 
在活動的onCreate()方法

然後,你會:

setContentView(R.layout.main_layout); 
surfaceView = findViewById(R.id.surfaceView); 
// Now you should be able to animate the surfaceView independent to the rest of the elements in the activity 
surfaceView = findViewById(R.id.controls); 
// Rest of initialization code. 
+0

所以你說什麼,我需要爲父LinearLayout(指當前的例子)有3個活動,這是唯一的目標是創造他自我,並有兩個單獨的活動,爲surfaceView和Bototm線性佈局,這是真正的實際活動,並讓父母Linearlayout將他的每個surfaceView和LinearLayout的視圖設置爲2個其他活動? (我希望我很清楚xD) –

+0

嗨丹,我已經更新了我的答案,讓我知道如果這是你的問題,如果不是的話,你能否進一步澄清你的問題? – Jeshurun

相關問題