サンプルプログラム工場

AAKAKA Appで使われているプログラムのサンプルコードをそのまま公開!

サンプルプログラム工場 > android > タッチパネルを触った強さを取るサンプル#tryTouch00
Google Play AAKAKAxSOFTへ

タッチパネルを触った強さを取るサンプル#tryTouch00

実行ファイル(APK)やサンプル(zip)をダウンロードする
tryTouch00の実行イメージtryTouch00の実行イメージ

タッチスクリーンをタッチされたときの強さを取り出す。
XperiaだとどうやらTouchの強さまではとれないらしい。
その場合は指が触れてはなされるまでの時間をうまいこと使って強さを表現することはできないだろうか?
押された強さは押された範囲によって大きくなるらしい。
例えば指先で叩くと1.0を超えるのはむずかしいけど、指の腹で叩くとすぐに超える。
getSizeで取り出したサイズによって値を変えるとうまくいくかもしれない。

検索した事
 Android マルチタッチ
 android touchEvent 強さ
  
開発環境
 Eclipse IDE バージョン: 3.7 Indigo Service Release 2
 ターゲットプラットフォーム: 2.1
 API レベル: 7

package trial.sample.trytouch00;

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

public class TryTouch00Activity extends Activity {

	private EditText	mEditTextPressure;	// 押された強さ
	private EditText	mEditTextSize;	// 押されたサイズ
	private EditText	mEditTextPower;	// 押されたサイズ
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        // 押された値を表示する
        this.mEditTextPressure = (EditText)this.findViewById(R.id.editText_Presure);
        this.mEditTextSize = (EditText)this.findViewById(R.id.EditText_Size);
        this.mEditTextPower = (EditText)this.findViewById(R.id.editText_Power);
    }
    
    // ////////////////////////////////////////////////////////////
    // タッチされたときに呼び出されます
    @Override
	public boolean onTouchEvent(MotionEvent event) {
    	
    	// 指が離された
    	if ((event.getAction() & MotionEvent.ACTION_MASK) == MotionEvent.ACTION_DOWN) {
    		
    		float pressure = event.getPressure();
    		float size = event.getSize();
    		
    		// サイズが0でくる機種があるらしい
    		if (size < 0.0) {
    			size = 1.0f;
    		}
    		
    		float power = pressure / size;
    		this.mEditTextPressure.setText("" + pressure);
    		this.mEditTextSize.setText("" + size);
    		this.mEditTextPower.setText("" + power);
    	}
    	
		return super.onTouchEvent(event);
	}

}
サンプルプロジェクトをダウンロード APKファイルをダウンロード

, , , , , ,

加速度センサーの値を取得するサンプル#trySensor00 Androidで音を鳴らすサンプル#trySound00

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>