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

Android:滚动Imageview

Android:滚动Imageview

互换的青春 2019-12-13 09:07:36
我有一个ImageView,它的高度是普通屏幕(960度)的两倍。我想在屏幕上上下左右很好地滚动它。屏幕底部应包含一个按钮。我尝试了ScrollView和Imageviews的各种组合,但均未成功。我也曾想过:isScrollContainer属性没有结果。有人知道该怎么做吗?干杯,卢卡
查看完整描述

3 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

我花了很长时间搜索此代码,因此我想分享这段代码的安宁:


这段代码来自一个Activity,在后端有一个xml文件,其中包含一个名为“ img” 的ImageView


<ImageView

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:id="@+id/img"

    android:scaleType="center"

    android:background="#fff"

    android:src="@drawable/picName"

/>

@Override

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);


    setContentView(R.layout.xml_name_layout);


    final ImageView switcherView = (ImageView) this.findViewById(R.id.img);


    switcherView.setOnTouchListener(new View.OnTouchListener() {


        public boolean onTouch(View arg0, MotionEvent event) {


            float curX, curY;


            switch (event.getAction()) {


                case MotionEvent.ACTION_DOWN:

                    mx = event.getX();

                    my = event.getY();

                    break;

                case MotionEvent.ACTION_MOVE:

                    curX = event.getX();

                    curY = event.getY();

                    switcherView.scrollBy((int) (mx - curX), (int) (my - curY));

                    mx = curX;

                    my = curY;

                    break;

                case MotionEvent.ACTION_UP:

                    curX = event.getX();

                    curY = event.getY();

                    switcherView.scrollBy((int) (mx - curX), (int) (my - curY));

                    break;

            }


            return true;

        }

    });


}

为我做了完美的工作... 包括水平和垂直滚动(启用)


唯一的缺点是...您可以滚动图片的边缘...但这对我来说不是问题..花费一些时间就可以轻松实现此功能:)


祝你好运&&玩得开心


查看完整回答
反对 回复 2019-12-13
  • 3 回答
  • 0 关注
  • 731 浏览

添加回答

举报

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