有没有办法将网格视图平移到水平方向。我正在图像上实现网格视图。因此,每当我缩放图像网格时,也应该在所有方向上进行缩放和平移,这样我就可以选择图像的特定区域。
我用谷歌搜索了网格的平移,但没有得到满意的答案。请帮我一些示例代码。
有没有办法将网格视图平移到水平方向。我正在图像上实现网格视图。因此,每当我缩放图像网格时,也应该在所有方向上进行缩放和平移,这样我就可以选择图像的特定区域。
我用谷歌搜索了网格的平移,但没有得到满意的答案。请帮我一些示例代码。
我也搜索了一些标准方法来缩放图像视图以外的视图,但没有找到任何东西。所以,我为此做了一个解决方法,它有效。
要缩放视图,您可以在启用了 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 来应用缩放。
我希望这将有所帮助。