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

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

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

您可以使用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; } 

您正在寻找的是ViewFlipper 。 这将帮助您了解您的期望。

这个有用

检查这个

或试试这个,

在你的xml中只添加这个,

   

不需要包含任何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 }; 

现在在你的onCreate()中,

 viewFlipper = (ViewFlipper) findViewById(R.id.flipper); for(int i=0;i 

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

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

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

我真的建议你使用Marc Reichelt的RealViewSwitcher类, 从这里得到它它提供了一个轻微的视图swticher,就像android启动器一样。

视图可以捕获触摸事件 – 看看OnTouchEvent ,它可以让你捕捉到MotionEvent ,如触摸和触摸。 您可以使用处理程序循环,在触摸事件之后将图像/视图移动到当前触摸的位置,直到触摸事件。

您可以使用Gallery小部件

这里是API的链接

还有一个教程 。 对我来说这非常有帮助:)