如何在Android中用手指触摸幻灯片?

Avi*_*nku 9 java android touch

我正在开发一个Android应用程序,我想用手指触摸来滑动图像.我实现了一个onClickListener可以滑动图像但我不知道如何实现手指触摸功能.

请建议我用手指触摸如何滑动图像的任何方法.任何建议或任何教程或方法都会有所帮助.

Moh*_*ada 33

您可以使用onTouchListner方法而不是onClickListner.下面给出onTouchListners示例..

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;
    }
Run Code Online (Sandbox Code Playgroud)


And*_*lva 9

你要找的是一个ViewFlipper.这将帮助您了解您的期望.

这个有用

检查这个

或试试这个,

在你的xml中只添加这个,

<ViewFlipper android:id="@+id/flipper" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content"> 
</ViewFlipper>
Run Code Online (Sandbox Code Playgroud)

不需要包含任何ImageViews.

现在在编码中执行此操作.

考虑到您已将图像存储在这样的数组中,

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
        };
Run Code Online (Sandbox Code Playgroud)

现在在你的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]);
        }
Run Code Online (Sandbox Code Playgroud)

现在将此方法添加到您的活动中,

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

而已.而现在使用viewFlipper.showNext();viewFlipper.showPrevious(); 方法,您可以显示动态图像.