我使用这种布局制作了一个用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()
绘制其他内容。在我完全设置之后,我得到了这个意想不到的输出:
缩放前缩放后
如何在缩放后保持CustomGridLayout
的剪裁范围?你知道,这是任何人在缩放时都会想到的那个。