Android之scrollview底部继续拖动查看图文详情

来源:互联网 发布:node.js硬实战115 pdf 编辑:程序博客网 时间:2024/06/11 19:59

-----------------转载请注明出处:http://blog.csdn.net/android_cll

一:效果图、






二:实现步骤:
1.xml布局的实现、

<ScrollView
    android:id="@+id/mymyscrollview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_above="@+id/rejcdosjflk"
    android:background="#ffffff"
    android:scrollbars="none">


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="60dp"
        android:orientation="vertical">
        </LinearLayout>
    </ScrollView>


2.activity的实现、
private ScrollView mScrollView;
mScrollView = (ScrollView) findViewById(R.id.mymyscrollview);
//调用方法
mScrollView.setOnTouchListener(new TouchListenerImpl());


private int scrollY;
private int height;
private int scrollViewMeasuredHeight;


private class TouchListenerImpl implements View.OnTouchListener {
    @Override
    public boolean onTouch(View view, MotionEvent motionEvent) {
        switch (motionEvent.getAction()) {
            case MotionEvent.ACTION_DOWN:


                break;
            case MotionEvent.ACTION_MOVE:
                scrollY = view.getScrollY();
                height = view.getHeight();
                scrollViewMeasuredHeight = mScrollView.getChildAt(0)
                        .getMeasuredHeight();
                break;
            case MotionEvent.ACTION_UP:
                System.out.println("scrollY=" + scrollY);
                System.out.println("height=" + height);
                System.out.println("scrollViewMeasuredHeight="
                        + scrollViewMeasuredHeight);
                if (scrollY == 0) {
                    System.out.println("滑动到了顶端 view.getScrollY()=" + scrollY);
                } else if ((scrollY + height) >= scrollViewMeasuredHeight) {
                    Message msg = new Message();
                    msg.what = 0;
                    mHandlerht.sendMessage(msg);
                } else {
                    System.out.println("滑动 height=" + height);
                }
                // 复位
                scrollY = 0;
                height = 0;
                scrollViewMeasuredHeight = 0;
                break;


            default:
                break;
        }
        return false;
    }


}


private Handler mHandlerht = new Handler() {
    public void handleMessage(Message msg) {
        switch (msg.what) {
            case 0:
                // 跳转
                Intent intentcll = new Intent();
                intentcll.setClass(BDDetialActivityCll.this,
                        CSProductDetailsCll.class);
                intentcll.putExtra("product", ncspbean);
                startActivity(intentcll);
                break;
            default:
                break;
        }
    }


};




有用的看一下,很简单。。。。。。。。。



























3 0