【发布时间】:2017-08-28 21:57:29
【问题描述】:
如何通过捏合来缩放(平滑)和滚动整个活动屏幕?我发现了几十篇关于缩放 ImageView 的帖子,但这不是我想要做的。 在我的活动中,我有一个图像、文本和按钮。当用户捏缩放或滚动时,我希望它们全部均匀缩放。
在我的 xml 布局中,如果这很重要,我将使用相对布局。目前我找到了一个放大和缩小整个活动的功能(仅限点击),但它并不流畅,并且不允许我在屏幕上滚动。有没有办法添加到我当前的代码中,或者有另一种方法吗?谢谢
这是我的 .java 中的当前代码:
public class MapActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_map);
View view =getLayoutInflater().inflate(R.layout.activity_map,null);
setContentView(view);
view.setOnClickListener(new View.OnClickListener() {
float zoomFactor = 1.3f;
boolean zoomedOut = false;
@Override
public void onClick(View v) {
if(zoomedOut) {
v.setScaleX(1);
v.setScaleY(1);
zoomedOut = false;
}
else {
v.setScaleX(zoomFactor);
v.setScaleY(zoomFactor);
zoomedOut = true;
}
}
});
任何帮助将不胜感激。谢谢
已解决:@MoQ 为我提供了一个使用来自 this library 的 GestureFrameLayout 的简单库解决方案!
【问题讨论】:
-
也许您可以在您的视图中使用来自this library 的 GestureFrameLayout 作为根。我自己没有尝试过,但它似乎是你要找的。span>
-
@Rotwang 这工作得很好!我无法告诉你我花了多长时间寻找一个顺利的解决方案。现在我希望它只适用于平板电脑。再次感谢!
-
学分错误。学分归@MoQ,不是我。
-
大声笑对不起伙计们..这很奇怪我可以发誓我看到你的名字标签...谢谢@MoQ !!!!
-
@ScottNova 没问题,很高兴它帮助了你! :)