当前位置: 代码迷 >> Android >> Android荧屏单击事件
  详细解决方案

Android荧屏单击事件

热度:95   发布时间:2016-04-28 08:13:07.0
Android屏幕单击事件
自己折腾了半天,没有搞出来,所以,趁下班之际,提个问题,请大家帮忙解决,感激不尽。

想要的效果是:通过单击屏幕,将Gallery控件显示或隐藏,现在的问题是,由于有了ImageSwitcher触摸屏幕切换图片的功能,单击屏幕的事件不知道如何去获取,如果将imageSwitcher.setOnTouchListener(this)语句注释掉,单击屏幕的事件就可以了。

可运行的代码如下,图片不好上传哦,麻烦大家自己添加图片,帮忙调试一下,谢谢啦:

import android.app.Activity;
import android.content.Context;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.util.Log;
import android.view.GestureDetector;
import android.view.GestureDetector.SimpleOnGestureListener;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.view.ViewGroup;
import android.view.animation.AnimationUtils;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Gallery.LayoutParams;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.ViewSwitcher.ViewFactory;

/**
 * ImageSwitcherActivity.java
 * @author cloay
 * 2011-7-16
 */
public class Album extends Activity implements OnItemSelectedListener, ViewFactory, OnTouchListener {
private ImageSwitcher imageSwitcher;
private Gallery gallery;

private int selectedTag = 0;
private int downX, upX;

private GestureDetector gestureScanner;

private Integer [] imagesId = new Integer[]{R.drawable.b, R.drawable.c, R.drawable.d, 
R.drawable.f, R.drawable.g};
private Integer [] selectId = new Integer[]{R.drawable.b, R.drawable.c, R.drawable.d, 
R.drawable.f, R.drawable.g};

private static final String TAG = "Album";
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        setContentView(R.layout.main);
        
        imageSwitcher = (ImageSwitcher)findViewById(R.id.switcher);
        imageSwitcher.setFactory(this);
        //设置图片切换时的动画效果
        imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in));
  相关解决方案