5

我正在创建一个安卓应用程序。在这里,我有一个 imageview 。我的目标是在图像上移动手指时从数据库中获取下一张图片

float nPicturePositionM = 0;

public boolean onTouch(View v, MotionEvent event) {
    boolean aHandledL = false;
    if (event.getAction() == MotionEvent.ACTION_MOVE) {
        float nNewPicturePosL = event.getX();
        if (nPicturePositionM < nNewPicturePosL) {
            nPicturePositionM = nNewPicturePosL;
            GetPictures(true);
        } else {
            nPicturePositionM = nNewPicturePosL;
            GetPictures(false);
        }
        aHandledL = true;
    }

    return aHandledL;

    //return false;
}

我如何使用触摸事件处理它?图像应该像我们在画廊中那样滑动

4

2 回答 2

13

首先,您在 xml 中声明一个 imageview:

<ImageView
    android:id="@+id/imageview1"
    android:layout_width="200dp"
    android:layout_height="200dp"
    android:layout_alignParentBottom="true"
    android:layout_marginBottom="45dp"
    android:layout_centerHorizontal="true" />

然后在您的活动中初始化组件:

私有 ImageView image1;

在 onCreate :

this.image1= (ImageView)this.findViewById(R.id.imageview1);
this.image1.setImageResource(R.drawable.NAMEOFIMAGE);

下一步是检测图像是否被“点击”。然后,您可以使用在线数据库或 SQLite 数据库来保存图像或图像的路径,其中的数据库部分是从头开始教授的很大一部分,具体取决于您要使用的路线:

       this.image1.setOnClickListener(new View.OnClickListener() {        
        @Override
           public void onClick(View view) {
            if (view == findViewById(R.id.imageview1)) {     
                         //PUT IN CODE HERE TO GET NEXT IMAGE
            }
            }
        });

我希望这有帮助。让我知道事情的后续 :)

于 2012-08-23T07:38:23.207 回答
0

您必须使用数据库中的图像数组并在 Touch...like.. 的基础上进行设置。

img.setOnTouchListener(new OnTouchListener() 
        {

            @Override
            public boolean onTouch(View arg0, MotionEvent arg1) 
            {
                    img.setImageURI(uri[pos]);
                    pos++;
                    return false;
            }
        });
于 2012-08-23T07:54:20.277 回答