网格在图像上

时间:2012-09-03 06:45:26

标签: android android-layout grid

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

我用谷歌搜索网格平移但没有得到满意的答案。请帮我一些示例代码。

1 个答案:

答案 0 :(得分: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上调用此方法来应用缩放。

我希望这会有所帮助。