2011年6月3日金曜日

TextViewを画面に表示


package com.androidGui;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class AndroidGui extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        TextView tv = new TextView(this);
        tv.setText("TextViewに表示する文字");
        setContentView(tv);
    }
}

MotionEvent.getEdgeFlags()で画面端の判定

MotionEvent.getAction()で取得できる動作

定数名 説明
ACTION_DOWN 0x02 タッチ押下
ACTION_MOVE 0x00 指を持ち上げずにスライドさせた場合
ACTION_UP 0x01 指を持ち上げた場合
ACTION_CANCEL 0x03 UP+DOWNの同時発生(=キャンセル)の場合
ACTION_OUTSIDE 0x04 ターゲットとするUIの範囲外を押下

MotionEvent.getAction()で取得できる動作

MotionEventの主なメソッド

MotionEventメソッド名 説明
getX() , getY() タッチされてたX,Y座標
getAction() タッチイベントのアクション
getDownTime() 押されていた時間(ms単位)
getEdgeFlags() スクリーン端判定
getSize() タッチされている範囲、サイズ(推定)
getEventTime() タッチされていた継続時間(ms単位)
getPressure() タッチされた圧力
package com.touchEvent;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;

public class touchEvent extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        Log.d("TouchEvent", "X:" + event.getX() + ",Y:" + event.getY());
        
        switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN:
            Log.d("TouchEvent", "getAction()" + "ACTION_DOWN");
            break;
        case MotionEvent.ACTION_UP:
            Log.d("TouchEvent", "getAction()" + "ACTION_UP");
            break;
        case MotionEvent.ACTION_MOVE:
            Log.d("TouchEvent", "getAction()" + "ACTION_MOVE");
            break;
        case MotionEvent.ACTION_CANCEL:
            Log.d("TouchEvent", "getAction()" + "ACTION_CANCEL");
            break;
        }
        
        return true;
    }
}



onTouchEvent

画面をタッチした場所の座標をDDMSのLogcatに表示 onTouchEventメソッドを利用してユーザのスクリーン操作を受け取る
package com.touchEvent;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;

public class touchEvent extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        Log.d("TouchEvent", "X:" + event.getX() + ",Y:" + event.getY());
        return true;
    }
}


ダウンロード

2011年6月1日水曜日

Error in an XML file

レイアウトのXMLファイルを修正後に実行した時にでる。

xxx.out.xml ファイルが自動で作成されているのでそれを削除する。

プロジェクトパッケージを選択して実行する。