为了账号安全,请及时绑定邮箱和手机立即绑定

SwipeGestureDetector 将图像从 int [] 更改为 Imageview

SwipeGestureDetector 将图像从 int [] 更改为 Imageview

富国沪深 2022-07-20 20:16:05
当我从下到上和从上到下滑动时,我需要从 int Array 中获取图像,然后在 Imageview 中显示。GestureDetector 运行良好,但我想从 int [] 中获取图像,然后在滑动时放入 Imageview 中。例子 :int [] imageBank = new int[] {            R.drawable.image0,            R.drawable.image1,            R.drawable.image2,            R.drawable.image3,            R.drawable.image4, }; 从上到下滑动,从 [ ] 中获取图像 0,在 Imageview 中显示从上到下滑动,从 [ ] 中获取图像 1,在 Imageview 中显示从下往上滑动,从 [ ] 中获取图像 0,在 Imageview 中显示从下往上滑动,从 [ ] 中获取图像 4,在 Imageview 中显示完成 MainActivityimport android.support.constraint.ConstraintLayout;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.MotionEvent;import android.widget.Button;import android.widget.ImageView;import android.widget.Toast;import driss.moodtracker.R;import driss.moodtracker.component.SwipeGestureDetector;public class MainActivity extends AppCompatActivity {private SwipeGestureDetector gestureDetector;@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    gestureDetector = new SwipeGestureDetector(this);    Button button_comment = (Button) findViewById(R.id.button1);    Button button_calendar = (Button) findViewById(R.id.button2);}@Overridepublic boolean dispatchTouchEvent(MotionEvent event) {    return gestureDetector.onTouchEvent(event);}public void onSwipe(SwipeGestureDetector.SwipeDirection direction) {    ImageView imagePic = (ImageView) findViewById(R.id.imageview);    ConstraintLayout currentLayout = (ConstraintLayout) findViewById(R.id.main_layout);    // ARRAY OF SMILEYS LIST    int [] arraySmileys = new int[] {            R.drawable.smiley_super_happy,            R.drawable.smiley_happy,            R.drawable.smiley_normal,            R.drawable.smiley_disappointed,            R.drawable.smiley_sad,    };
查看完整描述

2 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

最好使用ViewPageror RecyclerViewwith ViewPager-like行为而不是GestureDetector



查看完整回答
反对 回复 2022-07-20
?
月关宝盒

TA贡献1772条经验 获得超5个赞

定义一个“计数器”(整数变量)来存储整数数组的索引。现在基于检测到的滑动,如果用户从底部向上滑动,则增加计数器并将索引项的图像设置为您的图像视图,反之亦然。


示例代码:


int counter = 0;


public void swipe() {

    switch (direction) {

    case LEFT_TO_RIGHT:

        message = "Left to right swipe";

        break;


    case RIGHT_TO_LEFT:

        message = "Right to left swipe";

        break;


    case TOP_TO_BOTTOM:

        if(counter > 0) {

            counter--;

            imagePic.setImageResource(arraySmileys[counter]);

        }

        break;


    case BOTTOM_TO_TOP:

        if(counter < arraySmileys.length()) {

            counter++;

            imagePic.setImageResource(arraySmileys[counter]);

        }

        break;

   }

}


查看完整回答
反对 回复 2022-07-20
  • 2 回答
  • 0 关注
  • 90 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信