如何在Android手指滑动图像?

我正在开发一个Android应用程序,我想用手指触摸幻灯片。 我已经实现了一个onClickListener ,我可以幻灯片,但我不知道如何实现手指触摸function。

请给我build议如何用手指触摸幻灯片的方法。 任何build议或任何教程或方法将有所帮助。

Solutions Collecting From Web of "如何在Android手指滑动图像?"

您可以使用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只添加这个,

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

不需要附上任何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<gallery_grid_Images.length;i++) { // This will create dynamic image view and add them to ViewFlipper setFlipperImage(gallery_grid_Images[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(); 方法可以显示你的dynamic图像。

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

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

您可以使用图库小部件

这里是API的链接

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