How to slide image with finger touch in android?

前端 未结 5 1694
迷失自我
迷失自我 2021-01-31 06:19

I am developing an android application in which I want to slide images with finger touch. I have implemented an onClickListener with which I can slide images but I

相关标签:
5条回答
  • 2021-01-31 07:00

    You can use the Gallery widget

    Here the link to the API

    There is also a tutorial. For me it was very helpful :)

    0 讨论(0)
  • 2021-01-31 07:05

    You can use onTouchListner method instead of onClickListner. Below onTouchListners example is given..

    public class abc extends Activity implements OnTouchListener 
    {
         ImageView img;
         protected void onCreate(Bundle savedInstanceState) 
         {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.one);
    
                    img = (ImageView) findViewById(R.id.imageView1);
                    img.setOnTouchListener(this);
         }
    
            public boolean onTouch(View v, MotionEvent event) 
        {
            switch (event.getAction())
            {
                case MotionEvent.ACTION_DOWN:
                {       
                      // Here u can write code which is executed after the user touch on the screen 
                         break; 
                }
                case MotionEvent.ACTION_UP:
                {             
                       // Here u can write code which is executed after the user release the touch on the screen    
                     break;
                }
                case MotionEvent.ACTION_MOVE:
                {  
                   // Here u can write code which is executed when user move the finger on the screen   
                    break;
                }
            }
            return true;
        }
    
    0 讨论(0)
  • 2021-01-31 07:06

    I would really suggest you using RealViewSwitcher class by Marc Reichelt, get it from here It provides a slight view swticher, like android launcher does.

    0 讨论(0)
  • 2021-01-31 07:09

    Views can catch touch events -- take a look at OnTouchEvent which lets you catch MotionEvents like touch down and touch up. You could use a handler to loop, moving the image/view to the currently touched place after a touch down event until a touch up event.

    0 讨论(0)
  • 2021-01-31 07:21

    What you are looking for is an ViewFlipper. This will help you to get the look what you are expecting.

    This mgiht be helpful

    check this too

    Or try this,

    In your xml just add only this,

    <ViewFlipper android:id="@+id/flipper" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 
    </ViewFlipper>
    

    need not enclose with any ImageViews.

    Now do this in your coding.

    Considering that you have stored your Images in a array like this,

    int gallery_grid_Images[]={R.drawable.gallery_image_1,R.drawable.gallery_image_2,R.drawable.gallery_image_3,
            R.drawable.gallery_image_4,R.drawable.gallery_image_5,R.drawable.gallery_image_6,R.drawable.gallery_image_7,
            R.drawable.gallery_image_8,R.drawable.gallery_image_9,R.drawable.gallery_image_10
            };
    

    Now in your onCreate(),

    viewFlipper = (ViewFlipper) findViewById(R.id.flipper);
     for(int i=0;i<gallery_grid_Images.length;i++)
            {
            //  This will create dynamic image view and add them to ViewFlipper
                setFlipperImage(gallery_grid_Images[i]);
            }
    

    And now add this method to your activity,

    private void setFlipperImage(int res) {
        Log.i("Set Filpper Called", res+"");
        ImageView image = new ImageView(getApplicationContext());
        image.setBackgroundResource(res);
        viewFlipper.addView(image);
    }
    

    That's it. And now using your viewFlipper.showNext(); and viewFlipper.showPrevious(); methods you can show your dynamic images.

    0 讨论(0)
提交回复
热议问题