捏缩放不会缩小移动到下一个片段页面

时间:2015-04-27 05:22:12

标签: android pinchzoom

我使用此polidea Zoomview进行了缩放缩放。我已在片段页面中实现了此缩放缩放代码。

ZoomView zoomView;

//inside onCreateView method

zoomView= new ZoomView(getActivity());
zoomView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));

zoomView.addView(gridTable);
zoomView.setRotationY(180);
gridviewlayout.addView(zoomView);

zoomview jar

缩放放大和缩小在gridview表页面中工作。但是如果我放大页面然后滚动到下一个片段页面。之后当我回到上一个片段页面时,页面仍然处于缩放状态

我要做的是在移动到下一个片段页面时将页面重置为正常状态。

我搜索了很多样本​​。但是所有内容都与Imageview有关。我没有得到任何样本,用于缩放带有布局的片段。

任何人都可以帮助我。谢谢。

3 个答案:

答案 0 :(得分:5)

将以下代码添加到您的片段中:

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if(!isVisibleToUser){
        if(mZoomView != null)mZoomView.zoomTo(1,0,0);
    }
}

答案 1 :(得分:1)

检查此链接...

ViewPager with detailed fragment lifecycle

该教程展示了为Pause和Resume Listener为每个片段创建监听器。因此,每当您更改为其他片段时,您可以在片段的onPauseListener中调用缩小。本教程适合我。

希望这对你有用。

答案 2 :(得分:1)

覆盖此方法:

setPrimaryItem(ViewGroup container, int position, Object object)

每次更改位置时都会调用此方法。现在您知道可见片段了。这意味着你知道什么是不可见的(是的,我是sherlock)。现在你可以设置所有其他片段的缩放值。(比较以前的索引和新索引可能?)

您最好保留对您的片段的引用并为它们实现一些方法,例如reset() or setZoom(float)

我希望这会有所帮助。