2014-02-06 4 views
1

나는 fade_in 및 fade_out 애니메이션 avaible android.R.anim.fade_in (fade_out)을 사용하고 있습니다. 기본적으로 애니메이션의 지속 시간을 변경할 수 있지만 0,5 또는 2 초 애니메이션이 여전히 원활하지 않은지 여부는 관계 없습니다. 페이드 인/아웃 애니메이션을 부드럽게 만드는 방법이 있습니까? 고마워요!매끄러운 애니메이션 ImageSwitcher

코드 :

imageSwitcher = (ImageSwitcher) findViewById(R.id.imageswitcher); 

    slide_in_left = AnimationUtils.loadAnimation(this, R.anim.fade); 
    slide_out_right = AnimationUtils.loadAnimation(this, R.anim.fade_out); 

    imageSwitcher.setInAnimation(slide_in_left); 
    imageSwitcher.setOutAnimation(slide_out_right); 

* XML의 fade_out : *

당신이 애니메이션을 개선하기 위해 할 수있는 몇 가지가 있습니다
<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
    <alpha 
     android:duration="1500" 
     android:fromAlpha="1.0" 
     android:toAlpha="0.0" 
     android:interpolator="@android:anim/accelerate_interpolator" /> 
</set> 

답변

3

. 첫째, 응용 프로그램의 속성을 추가하여, 안드로이드 Manfiest에서 하드웨어 가속을 활성화합니다

android:hardwareAccelerated="true" 

다음으로, 일부 다른 * 보간 * s을 (를)보십시오. @android:anim/linear은 더 부드럽게 나타납니다.

마지막으로 이것이 작동하지 않으면 프로그래밍 방식으로 Property Animations을 사용할 수 있습니다 (이전 API 버전에는 NineOldAndroids을 사용할 수 있음).

+0

와우, 완벽하게 작동합니다! 애니메이션 후에 hardwareAcceleration = "false"로 설정해야합니까? – Matwosk

+1

@Matwosk 매니페스트에 설정을 남길 수 있습니다. 원하는 경우 하드웨어 가속을 프로그래밍 방식으로 사용하지 않도록 설정하는 방법이 있지만 대부분의 경우 하드웨어를 그대로 두는 것이 좋습니다. – Phil

+0

이것을 내 매니페스트에 추가 한 후 한 활동에서 배경 이미지를 잃어 버렸습니다. 왜 그런가? – Msmit1993

0

제게 도움이 된 것은 내 앱의 배경 이미지 파일 크기를 최소화하는 것입니다.