Note that there are some explanatory texts on larger screens.

plurals
  1. POAndroid ViewFlipper Inside ScrollView
    primarykey
    data
    text
    <p>I am using view flipper to show bunch on images like a slider where i implemented the functionality of swipe left and right to switch images, now some of my images are larger than the screen size ( in terms of height ) are getting hidden.</p> <p>I thought of adding my ViewFlipper inside ScrollView but using that i am not able to use the swipe functionality here goes my code </p> <p>XML LAYOUT </p> <pre><code>&lt;ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/mover" android:fillViewport="true"&gt; &lt;ViewFlipper android:id="@+id/flipper" android:layout_width="fill_parent" android:layout_height="wrap_content"&gt; &lt;/ViewFlipper&gt; </code></pre> <p></p> <p>MAIN ACTIVITY </p> <pre><code>public class MainActivity extends Activity { ViewFlipper viewFlipper; ScrollView moverHandle; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); int gallery_grid_Images[]={R.drawable.itema,R.drawable.itemb, R.drawable.itemc,R.drawable.itemd, R.drawable.iteme,R.drawable.itemf, R.drawable.itemg,R.drawable.itemh, R.drawable.itemi,R.drawable.itemj, }; viewFlipper = (ViewFlipper) findViewById(R.id.flipper); for(int i=0;i&lt;gallery_grid_Images.length;i++) { // This will create dynamic image view and add them to ViewFlipper setFlipperImage(gallery_grid_Images[i]); } moverHandle = (ScrollView) findViewById(R.id.mover); moverHandle.setOnTouchListener(new OnSwipeTouchListener() { public void onSwipeRight() { Toast.makeText(MainActivity.this, "right", Toast.LENGTH_SHORT).show(); viewFlipper.showPrevious(); } public void onSwipeLeft() { Toast.makeText(MainActivity.this, "left", Toast.LENGTH_SHORT).show(); viewFlipper.showNext(); } }); } private void setFlipperImage(int res) { ImageView image = new ImageView(getApplicationContext()); image.setBackgroundResource(res); viewFlipper.addView(image); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } } </code></pre> <p>FINALLY HERE GOES MY TOUCH LISTENER </p> <pre><code>public class OnSwipeTouchListener implements OnTouchListener { View view; MotionEvent motionEvent; private final GestureDetector gestureDetector = new GestureDetector(new GestureListener()); public boolean onTouch(final View v, final MotionEvent event) { return gestureDetector.onTouchEvent(event); } private final class GestureListener extends SimpleOnGestureListener { private static final int SWIPE_THRESHOLD = 100; private static final int SWIPE_VELOCITY_THRESHOLD = 100; @Override public boolean onDown(MotionEvent e) { return true; } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { boolean result = false; try { float diffY = e2.getY() - e1.getY(); float diffX = e2.getX() - e1.getX(); if (Math.abs(diffX) &gt; Math.abs(diffY)) { if (Math.abs(diffX) &gt; SWIPE_THRESHOLD &amp;&amp; Math.abs(velocityX) &gt; SWIPE_VELOCITY_THRESHOLD) { if (diffX &gt; 0) { onSwipeRight(); } else { onSwipeLeft(); } } } else { if (Math.abs(diffY) &gt; SWIPE_THRESHOLD &amp;&amp; Math.abs(velocityY) &gt; SWIPE_VELOCITY_THRESHOLD) { if (diffY &gt; 0) { onSwipeBottom(); } else { onSwipeTop(); } } } } catch (Exception exception) { exception.printStackTrace(); } return result; } } public void onSwipeRight() { } public void onSwipeLeft() { } public void onSwipeTop() { } public void onSwipeBottom() { } } </code></pre>
    singulars
    1. This table or related slice is empty.
    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