Androidアプリ作成講座 5-SurfaceViewをActivityにセットする
独自のSurfaceViewを作ったので、MainActivityに結びつけます。
MainActivityは、リソースで定義されているactivity_mainを画面として使っています。これを、作成したSurfaceViewに置き換えるコードを記述します。
MainActivityのソースを以下のように書き換えます。
package kunimiyasoft.circletest; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { private MySurfaceView myView ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); myView = new MySurfaceView(this) ; setContentView(myView); // setContentView(R.layout.activity_main); } }
SurfaceViewクラスの変数「myView」を定義します。このままではmyViewに実体がないので、newで領域を確保(インスタンス化)します。
setContentViewは、Activityにビューを結びつける関数です。デフォルトではXMLで定義されたactivity_mainを使っていますが、myViewに置き換えてしまいます。
これで、画面の描画はMySurfaceViewでの処理に委ねられました。試しにビルドして実行してみましょう。手順は既に紹介しましたが、「Build」「make Project」でビルドして、終わったら「実行(run)」ボタンでエミュレーターを起動します。
今までは「Hello World!」が表示されていましたが、今度は何も表示されないはずです。背景も黒で何もできないので終了しましょう。
まだMySurfaceViewには何も処理が書かれていないので、次の投稿から処理を書いていきます。
(LIST)Androidアプリ作成講座
Androidアプリ作成講座 プロローグ
Androidアプリ作成講座 1-プロジェクトを作る
Androidアプリ作成講座 2-プロジェクトを確認する
Androidアプリ作成講座 3-エミュレーター環境を作る
Androidアプリ作成講座 4-SurfaceViewクラスを作成する
Androidアプリ作成講座 5-SurfaceViewをActivityにセットする
Androidアプリ作成講座 6-SurfaceViewがイベントを受け取れるようにする
Androidアプリ作成講座 7-キャンバス上で描画する
Androidアプリ作成講座 8-円を描画する
Androidアプリ作成講座 9-デバッガを使ってみよう
Androidアプリ作成講座 10-Animationクラスを使う
Androidアプリ作成講座 11-円移動のソース