表題のとおり、ADVゲームによくあるテキストの表示を目指す。


必要用件は以下の2点


・クリックされると次のメッセージが表示される。

・レイヤ的な概念として、下層にウィンドウイメージ、上層にテキストが表示される。


ところでアンドロイドのコンポーネント、イメージビューやテキストビューは重ねることができない。

例外としてフレームレイアウトでは可能なようだが、推奨されてないレイアウトだ。

そんなもんだからとりあえず後者はほっておく。


・クリックされると次のメッセージが表示される。


public void onClick(View v) {
if (v == btnClk) {
count++;
}
switch (count){
case 1:
message.setText(R.string.windowMessage1);
break;

case 2:


staticなフィールド、int countを宣言し、クリックのたびにインクリする。

そしてcountの中身によってswitch分岐させている。

テキストビューのオブジェクトmessageのsetText()メソッドで書き換える。


なんにせよ、台詞などの膨大な量のテキストをコード本文に記述するのはナンセンスだ。

そうするとやはりxmlで記述し、そこを参照する方法がスマートだ。

アンドロイドで画像を扱うには、キャンバスクラスのdrawBitmapを使うか、xmlで定義したイメージビューを使うかになる。


今回はイメージビューの参照の切り替えについてだ。


ImagaView imageView = new ImageView(this);

imageView.setImageResource(R.drawable.○○);


これでres/drawableディレクトリ内にある画像への参照が渡される。

()内の型はint型だ。

具体的な中身はgen/R.javaを開けば確認できる。

ちなみにR.javaはいじってはならない自動生成されるファイルだ。


よって○○という画像を△△という画像に切り替えるには


imageView.setImageResource(R.drawable.△△)


これでOK、invalidate();の必要はないようだ。





このブログはだでぃによるだでぃのためのブログである。


内容は


androidアプリ開発における備忘録である。


初心者プログラマであるだでぃにとってandroidアプリ開発に必要な情報量は膨大である。


よって必要な情報だけをカテゴリ分類して常時閲覧可能にするのがこのブログの趣旨なのである。