격자보기를 수평 방향으로 초점 이동하는 방법이 있습니까? 나는 이미지에 그리드 뷰를 구현하고있다. 그래서 내가 확대 할 때마다 이미지 그리드는 모든 방향으로 줌과 팬이되어야하므로 이미지의 특정 영역을 선택할 수 있습니다.격자 이미지에서
나는 그리드 패닝에 대한 봤지만 만족스러운 답변을 얻지 못했습니다. 몇 가지 예제 코드로 도와주세요.
격자보기를 수평 방향으로 초점 이동하는 방법이 있습니까? 나는 이미지에 그리드 뷰를 구현하고있다. 그래서 내가 확대 할 때마다 이미지 그리드는 모든 방향으로 줌과 팬이되어야하므로 이미지의 특정 영역을 선택할 수 있습니다.격자 이미지에서
나는 그리드 패닝에 대한 봤지만 만족스러운 답변을 얻지 못했습니다. 몇 가지 예제 코드로 도와주세요.
나는 이미지보기 이외의 다른보기를 확대/축소하기위한 몇 가지 표준 방법을 찾았지만 아무 것도 찾지 못했습니다. 그래서, 이것에 대한 해결책을 찾았습니다.
뷰 확대/축소의 경우 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);
}
}
이 방법의 크기를 조절할 뷰 호출 될 때마다 시간과 차원이 저장됩니다 : 여기
는이 작업을 수행 할 수있는 방법입니다. 즉석 확대 효과를주기 위해 애니메이션 기간을 줄일 수 있습니다. 이제이 메소드를 Pan 또는 onTouch에서 호출하여 확대/축소를 적용 할 수 있습니다.
도움이되기를 바랍니다.