有没有办法将网格视图平移到水平方向。我正在图像上实现网格视图。因此,每当我缩放图像时,网格也应该在所有方向上进行缩放和平移,因此我可以选择图像的特定区域。
我用谷歌搜索网格平移但没有得到满意的答案。请帮我一些示例代码。
答案 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上调用此方法来应用缩放。
我希望这会有所帮助。