如何缩放多点触摸整个活动?

Problem:

放大图像和Web视图很容易。 但是我想放大整个活动。 我怎样才能做到这一点?

Here, I provide wire-frame:

线框-OF-活动

从这个你可以明白,我想要做什么。

Request

如果您有任何解决scheme,请分享。
谢谢。

您可以通过缩放根活动视图来模拟放大和缩小。 这里有一些入门代码:

 View v = findViewById(android.R.id.content); // get reference to root activity view v.setOnClickListener(new OnClickListener() { float zoomFactor = 1.5f; boolean zoomedOut = false; @Override public void onClick(View v) { if(zoomedOut) { // now zoom in v.setScaleX(1); v.setScaleY(1); zoomedOut = false; } else { v.setScaleX(zoomFactor); v.setScaleY(zoomFactor); zoomedOut = true; } } }); 

请注意,该活动将放大单击,而不是缩放双击。 另外,你可能想要animation缩放。 查看属性animation了解如何完成这一点。

[编辑]对于较旧的API级别,您可以使用ScaleAnimation。 您也可以设置animation的持续时间。 然而,一个重要的警告是,它只能修改视图的外观,但实际的视图不会改变。

 if(zoomedOut) { // zoom in ScaleAnimation anim = new ScaleAnimation(1f, 1.5f, 1f, 1.5f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); anim.setDuration(500); anim.setFillAfter(true); v.startAnimation(anim); zoomedOut = false; } else { ScaleAnimation anim = new ScaleAnimation(1.5f, 1f, 1.5f, 1f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); anim.setDuration(500); anim.setFillAfter(true); v.startAnimation(anim); zoomedOut = true; 

您可以使用setScaleXsetScaleY来放大整个活动视图

然后你需要使用setPivotXsetPivotY来设置支点。

有关整个活动的详细信息的很好的示例使用多点触控进行缩放:

1)整个活动MultiTouch 。

2)完全缩放视图。