Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Well, it somehow worked on removing the setOnTouchListener() from layout and adding it on the ViewPager. My Updated code(with other changes for differentiating tap and swipe) is:</p> <pre><code>package com.pankajvatsa.testfeet; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.support.v4.view.ViewPager; import android.view.MotionEvent; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.RelativeLayout; public class ImageViewPager extends Activity { // Declare Variable int position; Button bWallpaperButton; Button bDownloadButton; RelativeLayout mainLay; int flagForButton = 0; boolean gone = false; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Set title for the ViewPager setTitle("ViewPager"); // Get the view from view_pager.xml setContentView(R.layout.activity_image_view_pager); bWallpaperButton = (Button) findViewById(R.id.bSetWallpaper); bDownloadButton = (Button) findViewById(R.id.bSaveToGallery); mainLay = (RelativeLayout) findViewById(R.id.rl_view_pager); // Retrieve data from MainActivity on item click event Intent p = getIntent(); position = p.getExtras().getInt("id"); ImageAdapter imageAdapter = new ImageAdapter(this); List&lt;ImageView&gt; images = new ArrayList&lt;ImageView&gt;(); // Retrieve all the images for (int i = 0; i &lt; imageAdapter.getCount(); i++) { ImageView imageView = new ImageView(this); imageView.setImageResource(imageAdapter.mThumbIds[i]); imageView.setScaleType(ImageView.ScaleType.CENTER); images.add(imageView); } // Set the images into ViewPager ImagePagerAdapter pageradapter = new ImagePagerAdapter(images); ViewPager viewpager = (ViewPager) findViewById(R.id.image_pager); viewpager.setAdapter(pageradapter); // Show images following the position viewpager.setCurrentItem(position); viewpager.setOnTouchListener(new View.OnTouchListener() { private float pointX; private float pointY; private int tolerance = 50; @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub switch (event.getAction()) { case MotionEvent.ACTION_MOVE: return false; case MotionEvent.ACTION_DOWN: pointX = event.getX(); pointY = event.getY(); break; case MotionEvent.ACTION_UP: boolean sameX = pointX + tolerance &gt; event.getX() &amp;&amp; pointX - tolerance &lt; event.getX(); boolean sameY = pointY + tolerance &gt; event.getY() &amp;&amp; pointY - tolerance &lt; event.getY(); if(sameX &amp;&amp; sameY){ //The user "clicked" certain point in the screen or just returned to the same position an raised the finger if(gone == false){ bWallpaperButton.setVisibility(View.GONE); bDownloadButton.setVisibility(View.GONE); gone = true; }else{ bWallpaperButton.setVisibility(View.VISIBLE); bDownloadButton.setVisibility(View.VISIBLE); gone = false; } } } return false; } }); } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload