画像に示すように、ブラウザのタブと同じようにタブがあります。また、隣接する画像同士が重なるように、タブ画像間にパディングがあります。ユーザーがそれに触れたときに特定の画像が隣接する画像(下の画像)の上にある必要があり、コードを介して同じことをしたい。
スクロールビュー全体に onTouchListener があります。ユーザーが手動で画像に触れると、以下のコードで正常に動作します。
tab[id].bringToFront();
tabScrollView.invalidate();
ユーザーが手動でタッチする代わりにコードを使用して同じことを行うと、選択したタブの画像は、bringToFront() メソッドを使用するため、右端に移動します。隣接する画像の上に置く方法はありますか?
アップデート:
私はすでに試しましたが、
tab[id].performClick();
tab[id].performLongClick();
また、試してみましたが、
tab[id].setOnTouchListener(new MyTouchListener()); //my own listener
// Obtain MotionEvent object
long downTime = SystemClock.uptimeMillis();
long eventTime = SystemClock.uptimeMillis() + 100;
float x = 0.0f;
float y = 0.0f;
int metaState = 0;
MotionEvent motionEvent = MotionEvent.obtain(
downTime,
eventTime,
MotionEvent.ACTION_UP,
x,
y,
metaState
);
// Dispatch touch event to view
tab[id].dispatchTouchEvent(motionEvent);
上記の両方の方法は役に立ちません。詳細を提供する必要がありますか?