Android:让活动调用另一个单独的java文件,它代表顶部动画

时间:2012-06-23 23:03:55

标签: android view surfaceview

我正在制作一款小游戏,目前它有点被动地运行(它只会在用户点击按钮时运行并执行操作)。

但是我想在它上面添加动画,所以我有这种层,底层是带有按钮和文本的普通视图,在它上面我有一种运行画布动画的surfaceview有线程。

我也希望制作这两个独立的java文件,因为我知道每个活动一次代表一个视图,我是否可以如何使我的底层视图,调用添加在他之上的surfaceview并让他更新他自我应有,而底视仍然是被动的?

2 个答案:

答案 0 :(得分:0)

一个Activity代表一个View是正确的,这并不意味着你不能堆叠它们。 您可以使用weight_sum为1的LinearLayout,将SurfaceView的权重设置为0.8,将BottomView的权重设置为0.2。 这将允许您单独处理它们

答案 1 :(得分:0)

活动不是视图,而是包含一组视图。您需要的是单个活动,但将布局分为两个部分。然后,你可以说有一个包含SurfaceView的LinearLayout和包含你的按钮和文本的下面的另一个布局容器。然后,您应该能够独立于其下方的容器设置SurfaceView的动画,这看起来就像您希望的那样。

例如,像;

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

    </SurfaceView>

    <LinearLayout  android:id="@+id/controls">
    <!-- Buttons and text -->
    </LinearLayout>
</LinearLayout>

然后在Activity的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.