无对角滚动垂直+水平滚动视图 - >表格布局

时间:2015-02-10 10:54:09

标签: android

我在Horizo​​ntal滚动视图中实现了一个表格布局,它也是垂直滚动视图的子项。它的工作原理如下;垂直或水平滚动时,它会针对每种滚动类型显式滚动。在垂直水平滚动滚动时的意思根本不会发生,例如,如果手指沿对角线移动,则不会发生垂直或水平滚动。 要水平滚动,必须再次触摸它,它只能在水平方向滚动,如果手指沿对角线方向移动,则不会发生垂直或水平滚动。[同样在这里]。

似乎在一个手指触摸实例中只处理一个回调。 我也需要对角线滚动,应该在垂直和水平方向同时滚动,就像在iOS表视图中一样。向所有6个方向滚动。

这是代码;

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">

        <ScrollView
            android:id="@+id/layout"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginTop="5dip"
            android:scrollbars="none">

            <HorizontalScrollView
                android:id="@+id/horizontalView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dip"
                android:scrollbars="horizontal|vertical">

                <TableLayout
                    android:id="@+id/tlGridTable"
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <TableRow
                        android:id="@+id/row1"
                        android:layout_width="wrap_content"
                        android:layout_height="50dp">

                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                    </TableRow>
                    <TableRow
                        android:id="@+id/row1"
                        android:layout_width="wrap_content"
                        android:layout_height="50dp">

                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                    </TableRow>
                    <TableRow
                        android:id="@+id/row1"
                        android:layout_width="wrap_content"
                        android:layout_height="50dp">

                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                    </TableRow>
                   ---------------
----------------------
--------------------------
                    <TableRow
                        android:id="@+id/row1"
                        android:layout_width="wrap_content"
                        android:layout_height="50dp">

                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                        <ImageView
                            android:layout_width="100dp"
                            android:layout_height="match_parent"
                            android:src="@drawable/ic_launcher"
                            android:layout_margin="4dp"
                            android:background="@android:color/holo_green_light"/>
                    </TableRow>


                </TableLayout>
            </HorizontalScrollView>
        </ScrollView>
    </LinearLayout>

1 个答案:

答案 0 :(得分:1)

我在这个链接上找到了答案:可能是同一个问题。

Scrollview vertical and horizontal in android

   @Override
    public boolean onTouchEvent(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();
                vScroll.scrollBy((int) (mx - curX), (int) (my - curY));
                hScroll.scrollBy((int) (mx - curX), (int) (my - curY));
                mx = curX;
                my = curY;
                break;
            case MotionEvent.ACTION_UP:
                curX = event.getX();
                curY = event.getY();
                vScroll.scrollBy((int) (mx - curX), (int) (my - curY));
                hScroll.scrollBy((int) (mx - curX), (int) (my - curY));
                break;
        }

        return true;
    }