0

私は小さなゲームを作っていますが、現時点では、それはちょっと受動的に動作します(ユーザーがボタンを押したときにのみ実行され、アクションを実行します)。

しかし、その上にアニメーションを追加したいので、この種のレイヤーがあります。下のレイヤーはボタンとテキストを含む通常のビューであり、その上にスレッドを含むキャンバスアニメーションを実行する一種のサーフェスビューがあります。

また、これら2つの個別のJavaファイルを作成することも検討しています。これは、各アクティビティが一度に1つのビューを表すことがわかっているため、どのようにして下部ビューを作成し、彼の上にaddを呼び出して、彼に自分自身を更新させることができるでしょうか。底面図はパッシブのままですが、彼はすべきですか?

4

2 に答える 2

0

1 つのアクティビティが 1 つのビューを表すことは正しいことですが、それらを積み重ねることができないという意味ではありません。LinearLayout を 1 で使用し、SurfaceView をweight_sum0.8 の重みで追加し、BottomView を 0.2 の重みで追加できます。これにより、それらを個別に処理できます

于 2012-06-24T00:33:20.417 に答える
0

アクティビティはビューではなく、ビューのコレクションを収容します。必要なのは単一のアクティビティですが、レイアウトを 2 つのセクションに分割します。次に、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.
于 2012-06-24T00:37:33.267 に答える