【问题标题】:Android/Java How to Pinch To Zoom/Scroll an entire activity? (NOT an ImageView)Android / Java如何捏缩放/滚动整个活动? (不是 ImageView)
【发布时间】: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 没问题,很高兴它帮助了你! :)

标签: java android zooming


【解决方案1】:

已解决:@MoQ 使用 this library! 的 GestureFrameLayout 为我提供了一个简单的库解决方案!

【讨论】:

    猜你喜欢
    • 2013-01-06
    • 2011-05-12
    • 1970-01-01
    • 2012-11-17
    • 2018-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多