下面列出了android.view.View#OnTouchListener ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
void prepare(PlayerActivity.PlayerItem item) {
try {
setUpCallToAction(item);
setUpMediaControl(item.looping, item.showVideoControls);
final View.OnTouchListener listener = SwipeToDismissTouchListener
.createFromView(videoView, callback);
videoView.setOnTouchListener(listener);
videoView.setOnPreparedListener(mediaPlayer -> videoProgressView.setVisibility(View.GONE));
videoView.setOnInfoListener((mediaPlayer, what, extra) -> {
if (what == MediaPlayer.MEDIA_INFO_BUFFERING_END) {
videoProgressView.setVisibility(View.GONE);
return true;
} else if (what == MediaPlayer.MEDIA_INFO_BUFFERING_START) {
videoProgressView.setVisibility(View.VISIBLE);
return true;
}
return false;
});
final Uri uri = Uri.parse(item.url);
videoView.setVideoURI(uri, item.looping);
videoView.requestFocus();
} catch (Exception e) {
Twitter.getLogger().e(TAG, "Error occurred during video playback", e);
}
}
View.OnTouchListener getTouchListener() {
return new View.OnTouchListener() {
@SuppressLint("ClickableViewAccessibility")
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
ObjectAnimator scaleDownX = ObjectAnimator.ofFloat(upperView, "scaleX", 0.9f);
ObjectAnimator scaleDownY = ObjectAnimator.ofFloat(upperView, "scaleY", 0.9f);
scaleDownX.setDuration(200);
scaleDownY.setDuration(200);
AnimatorSet scaleDown = new AnimatorSet();
scaleDown.play(scaleDownX).with(scaleDownY);
scaleDown.setInterpolator(new OvershootInterpolator());
scaleDown.start();
//mClickDown.start();
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
ObjectAnimator scaleDownX2 = ObjectAnimator.ofFloat(upperView, "scaleX", 1f);
ObjectAnimator scaleDownY2 = ObjectAnimator.ofFloat(upperView, "scaleY", 1f);
scaleDownX2.setDuration(200);
scaleDownY2.setDuration(200);
AnimatorSet scaleDown2 = new AnimatorSet();
scaleDown2.play(scaleDownX2).with(scaleDownY2);
scaleDown2.setInterpolator(new OvershootInterpolator());
scaleDown2.start();
break;
}
return false;
}
};
}
@Override
public View.OnTouchListener createArbitraryTapListener(int numOfTaps, @NonNull View.OnClickListener onClickListener) {
return new ArbitraryTapListener();
}
/**
* We consume onTouch events: ALSO dispatch them to the listener
* if requested.
*/
@Override
public void setSecondaryOnTouchListener(View.OnTouchListener l)
{
mSecondaryOnTouchListener = l;
}
@Override
protected View getRightView(LayoutInflater inflater, View.OnTouchListener touchListener) {
return null;
}
@Override
public void setOnTouchListener(View.OnTouchListener l) {
userTouchListener = l;
}
private void simulateUserPagerTouch() {
MotionEvent motionEvent = MotionEvent.obtain(0L, 0L, MotionEvent.ACTION_DOWN, 12f, 34f, 0);
View.OnTouchListener listener = shadowOf(fragment.pager).getOnTouchListener();
listener.onTouch(null, motionEvent);
}
public ViewHolder setOnTouchListener(int viewId,
View.OnTouchListener listener) {
View view = getView(viewId);
view.setOnTouchListener(listener);
return this;
}
public ViewHolder setOnTouchListener(int viewId,
View.OnTouchListener listener) {
View view = getView(viewId);
view.setOnTouchListener(listener);
return this;
}
@Provides
View.OnTouchListener provideOnTouchListener() {
return mOnTouchListener;
}
@Override
public void setOnTouchListener(View.OnTouchListener l) {
userTouchListener = l;
}
@Override
public void setOnTouchListener(View.OnTouchListener l) {
userTouchListener = l;
}
/**
* Sets the on touch listener of the view.
*
* @param viewId The view id.
* @param listener The on touch listener;
* @return The BaseViewHolder for chaining.
*/
@Deprecated
public BaseViewHolder setOnTouchListener(int viewId, View.OnTouchListener listener) {
View view = getView(viewId);
view.setOnTouchListener(listener);
return this;
}
/**
* Use to override default touch events handling on InfoWindow (ie, close automatically)
* @param listener New View.OnTouchListener to use
*/
public void setOnTouchListener(View.OnTouchListener listener) {
mView.setOnTouchListener(listener);
}
public void setOnTouchListener(View.OnTouchListener listener) {
}
/**
* Sets the on touch listener of the view.
*
* @param viewId The view id.
* @param listener The on touch listener;
* @return The BaseAdapterHelper for chaining.
*/
public BaseAdapterHelper setOnTouchListener(int viewId, View.OnTouchListener listener) {
View view = retrieveView(viewId);
view.setOnTouchListener(listener);
return this;
}
/**
* 设置触摸事件
* @param onTouchListener {@link View.OnTouchListener}
* @param views View 数组
* @return {@link DevHelper}
*/
public DevHelper setOnTouchs(final View.OnTouchListener onTouchListener, final View... views) {
ListenerUtils.setOnTouchs(onTouchListener, views);
return this;
}
public void setOnTouchListener(View.OnTouchListener listner) {
}
public void setOnTouchListener(View.OnTouchListener listener) {
}
/**
* Sets the on touch listener of the view.
*
* @param viewId
* The view id.
* @param listener
* The on touch listener;
* @return The BaseAdapterHelper for chaining.
*/
public BaseAdapterHelper setOnTouchListener(int viewId, View.OnTouchListener listener) {
View view = retrieveView(viewId);
view.setOnTouchListener(listener);
return this;
}