ボタンを押したときにイメージが正しく変化し、ボタンを持ち上げるとACTION_UPが呼び出されます...ただし、ACTION_DOWNが呼び出されて指を離すと(外側)ボタンを押して持ち上げると、ACTION_UP がまだ呼び出されます。画像を通常の状態に戻し、他に何もしない必要があります。
twitterBtn.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent touchEvent) {
switch(touchEvent.getAction())
{
case MotionEvent.ACTION_DOWN:
twitterBtn.setBackgroundResource(R.drawable.logintwittertouched);
return true;
case MotionEvent.ACTION_CANCEL:
twitterBtn.setBackgroundResource(R.drawable.logintwitter);
return true;
case MotionEvent.ACTION_UP:
twitterBtn.setBackgroundResource(R.drawable.logintwitter);
try {
adapter.authorize(MainActivity.this, Provider.TWITTER);
dialog = ProgressDialog.show(MainActivity.this, "", "Connecting to Twitter", true);
} catch (Exception e) {
Log.v(getString(R.string.clickrerr), "" + e.toString());
}
return true;
}
return false;
}
});