2012-09-03 45 views
0

有没有办法将网格视图平移到水平方向。我正在图像上实施网格视图。所以,无论何时我放大图像网格也应该进行缩放和全方位平移,因此我可以选择图像的特定区域。在图像上的网格

我google搜索网格,但没有得到满意的答案。请用一些示例代码来帮助我。

回答

0

我也搜索了一些缩放除图像视图以外的视图的标准方法,但没有找到任何东西。所以,我为此做了一个解决方法,它工作。
对于缩放视图,可以在启用fillAfter属性的情况下对视图应用缩放动画。

这里是你如何能做到这一点:

ScaleAnimation scale; 
    final float MAX_SCALE_FACTOR = 5f; 
    float currentScaleFactor = 1; 
    public static final long DURATION = 500; 

    GridView grid = (GridView)findViewById(R.id.grid); 


    public void scaleMyView() 
    { 
     if(currentScaleFactor <= MAX_SCALE_FACTOR) 
     { 
      DecelerateInterpolator interpolator = new DecelerateInterpolator(); 
      scale = new ScaleAnimation(currentScaleFactor, currentScaleFactor*1.2f, 
          currentScaleFactor, currentScaleFactor*1.2f); 
      currentScaleFactor *= 1.2; 
      scale.setDuration(DURATION); 
      scale.setInterpolator(interpolator); 
      scale.setFillEnabled(true); 
      scale.setFillAfter(true); 

      grid.startAnimation(scale); 
     } 
    } 

这里每个调用此方法进行缩放视图时间和尺寸进行保存。您可以缩短动画持续时间以发挥即时缩放的效果。现在,您可以在onPan或onTouch上调用此方法来应用缩放。

我希望这会有所帮助。