捏缩放ScrollView2D

时间:2014-10-01 08:28:25

标签: android android-scrollview pinchzoom android-gridlayout

我使用这种布局制作了一个用ImageViews填充的自定义2D地图:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <com.nkraft.mobiletomblocator.ZoomableScrollView2D 
        android:id="@+id/scrollView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:scrollbars="none" >

            <com.nkraft.mobiletomblocator.CustomGridLayout
                android:id="@+id/map_grid"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:background="#ffdedbba" >

                <!-- filling this up at run time, maybe a ~300x100 cells -->

            </com.nkraft.mobiletomblocator.CustomGridLayout>

    </com.nkraft.mobiletomblocator.ZoomableScrollView2D>

    <!-- Don't mind below this -->

    <LinearLayout
        android:id="@+id/popupDialogParent"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerInParent="true"
        android:padding="30dp" >

        <include layout="@layout/custom_toast"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:visibility="gone" />

    </LinearLayout>

</RelativeLayout>

其中

  • ZoomableScrollView2D是一个2维滚动条w / c可以滚动 两个方向在同一时间和我附加我的捏缩放 效果w / c我发现了 HERE
  • CustomGridLayout只是一个普通的GridLayout,我会覆盖它 onDraw()绘制其他内容。

在我完全设置之后,我得到了这个意想不到的输出:

缩放前

enter image description here

缩放后

enter image description here

如何在缩放后保持CustomGridLayout的剪裁范围?你知道,这是任何人在缩放时都会想到的那个。

0 个答案:

没有答案