ブログトップ 記事一覧 ログイン 無料ブログ開設

チラシ裏日記上等!! このページをアンテナに追加 RSSフィード Twitter

2012-09-18

onTouchEventを使ってタッチで画像を変えるコード

| 00:10 | onTouchEventを使ってタッチで画像を変えるコードを含むブックマーク onTouchEventを使ってタッチで画像を変えるコードのブックマークコメント

機種変をしてIS03がフリーになったのでこれをアプリの開発機にしてAndroidアプリ開発にチャレンジして見たいと思います。本当は仕事でやりたかったなぁと思いつつ、今後仕事でやることもあるだろうと思いレッツ勉強!

Androidといえばタッチなのでとりあえずタッチイベントで適当に画像が変わるコードを書きました。

package net.chirashiura.helloworld;

import android.os.Bundle;
import android.app.Activity;
import android.view.MotionEvent;
import android.widget.ImageView;

public class HelloWorld extends Activity{

	int imageID = R.drawable.theta;

	ImageView imgView = null;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		imgView = new ImageView(this);

		imgView.setImageResource(imageID);
		setContentView(imgView);
	}

	@Override
	public boolean onTouchEvent(MotionEvent event) {

		if(event.getAction() == MotionEvent.ACTION_DOWN){
			if(imageID == R.drawable.theta){
				imageID = R.drawable.rena;
			} else {
				imageID = R.drawable.theta;
			}

			imgView.setImageResource(imageID);
		}
		return super.onTouchEvent(event);
	}
}

とても簡単にできました。ちょっとonTouchEventメソッドのeventのあたりで多少手間取ったぐらいです。

onTouchEventの引数として与えられているMotionEventのインスタンスからgetActionメソッドでどんなアクションをしたのか取得してそれがACTION_DOWN、画面が押されたかどうかで判定して画面が押されたようであれば画像を変える処理が走るという感じ。恥ずかしくなるぐらいしょぼいですね。

実際のスクリーンショットではこんなのがタッチをすると。

f:id:Tomato-360:20120919000657p:image

こんなのに変わります。

f:id:Tomato-360:20120919000658p:image

画像は気にしないでください。

IS03って結構しょぼい端末ですけど、タッチで画像を変えるぐらいならさくさく動きます。とりあえずIS03を基準にして開発を行っていけば他の端末では快適なのかなぁと思ったり。

しばらくは重いアプリは作れないとおもうけど少しずつできることを増やしてゆくゆくはゲームなんか作りたいですね。

トラックバック - http://d.hatena.ne.jp/Tomato-360/20120918/1347981031
リンク元
Connection: close