テキストビューをドラッグし、クリックするとダイアログを表示する必要があるアプリケーションを開発しています。
以下にコードを追加しました。 のみを使用するとACTION_MOVE
、テキストをドラッグできます。ただし、TextDialog.setVisibility(View.VISIBLE);
ダイアログを表示するように設定すると、テキストをドラッグできません。両方のイベントが同時に機能していません。
両方のイベントを処理するにはどうすればよいですか?
tvText= (TextView)findViewById(R.id.text);
TextDialog=(LinearLayout)findViewById(R.id.Textdialog);
tvText.setOnTouchListener(this);
tvText.setOnClickListener(this);
}
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
layoutParams = (LayoutParams) tvText.getLayoutParams();
switch(event.getAction())
{
case MotionEvent.ACTION_DOWN:
TextDialog.setVisibility(View.VISIBLE);
break;
case MotionEvent.ACTION_MOVE:
int x = (int)event.getRawX();
int y= (int)event.getRawY();
layoutParams.leftMargin = x - 150;
layoutParams.topMargin = y - 210;
tvText.setLayoutParams(layoutParams);
break;
default:
break;
}
return true;
}