2012-09-03 3 views
0

현재 썸네일 이미지로 채워진 GridView이 있습니다. 이제 일반적으로 onClickListener을 통해 '미리보기'활동에서 이러한 축소판의 전체 크기 버전을로드합니다.안드로이드 애니메이션과 Gridviews : 썸네일 이미지를 풀 사이즈 이미지로 확대

그러나 축소판을 클릭하면 전체 크기 이미지를 표시 할 수 있도록 확장해야하며 전체 크기 이미지를 누르면 축소판으로 축소되어야하는 효과를 복제하려고합니다. 간단한 스케일 애니메이션을 시도했지만 초기 위치에서 이미지에 애니메이션을 적용하는 것 (그리고 다시)으로 돌아가는 것처럼 보일 수 없습니다.

참고 : 누군가가 HTC One X를 사용하는 경우 내가 쫓고있는 효과는 해당 휴대 전화의 갤러리 앱과 똑같습니다. Jellybean 탑재 Nexus 7은 이미지를 클릭 할 때도 동일한 효과를냅니다.

내 가장 최근의 시도가 있었다 (onclick을 해고) :

<?xml version="1.0" encoding="utf-8"?> 
<scale 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:interpolator="@android:anim/linear_interpolator" 
    android:fromXScale="1.0" 
    android:toXScale="1.0" 
    android:fromYScale="0.0" 
    android:toYScale="1.0" 
    android:pivotY="50%" 
    android:fillAfter="true" 
    android:fillEnabled="true" 
    android:startOffset="200" 
    android:duration="200" /> 

업데이트가 : 구글의 Gallery3D 애플리케이션에 대한 소스 (http://grepcode.com/file/repository.grepcode보고했습니다. co.kr/java/ext/com.google.android/android-apps/4.1.1_r1/co.kr/android/gallery3d/app), 넥서스가 사용하는 것이지만 매우 복잡합니다.

+0

스케일 뷰 오히려 쉽게, 난 당신을 생각 이미 그것을하는 방법을 알고있다. 남은 또 다른 일은 스케일 시작/끝 위치를 계산하는 것입니다. 여러분은'View.LayoutParams'가 필요할 것입니다. – neevek

+0

나는 그 일을하는 방법에 대해 모른다. 현재 크기를 조정할 필요가있는 이미지를 얻을 수 있지만 선택한 이미지의 크기를 화면 크기에 맞게 조정하는 방법은 아닙니다. –

+0

나는 이것을 어느 정도 해결했다. 나는 할 수있을 때 대답을 쓸거야. –

답변

1

Here은 DevBytes와 비슷한 효과를 보여주는 좋은 예입니다. 그것은

그 예로부터 냈다 코드 것은 여기에 직접 젤리 빈에서 사용할 수 있습니다 또는 support-v4 라이브러리를 통해 액세스 할 수있는 ActivityOptions 새로운 API를 사용하고 있습니다 :

Intent i = new Intent(HomeActivity.this, DetailActivity.class); 
i.putExtra(DetailActivity.EXTRA_COLOUR, colour); 
Bundle b = null; 
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { 
    Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888); 
    bitmap.eraseColor(colour); 
    b = ActivityOptions.makeThumbnailScaleUpAnimation(view, bitmap, 0, 0).toBundle(); 
} 
startActivity(i, b); 
관련 문제