2011-02-27 7 views
0

위젯에서 imageswitcher를 사용하려면 어떻게해야합니까?Android 위젯 imageswitcher?

내 코드는 잘 컴파일,하지만 난 내 위젯을 만들려고 할 때 오류 제공합니다

<ImageSwitcher android:id="@+id/image_switcher" 
    android:layout_width="fill_parent" android:layout_height="fill_parent" /> 

및 작성을위한 내 코드 :

Error inflating AppWidget AppWidgetProviderInfo(provider=ComponentInfo{test.basic/test.basic.HelloWorldWidget}): android.view.InflateException: Binary XML file line #5: Error inflating class android.widget.ImageSwitcher

내 imageswitcher 내 XML 코드입니다 시청자는

@Override 
public void onEnabled(final Context context) { 
    readImages(context); 

    ImageSwitcher imageSwitcher = getImageSwitcher(context); 
    imageSwitcher.setFactory(new ViewFactory() { 

     public View makeView() { 
      ImageView imageView = new ImageView(context); 
      imageView.setBackgroundColor(0xFF000000); 
      imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); 
      imageView.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 
      return imageView; 
     } 
    }); 
} 

어떤 도움을 주실 까?

답변

1

나는 그것이 AppWidget에 ImageSwitcher를 사용하는 것이 가능하다고 생각하지 않습니다 감사합니다. AppWidget 문서 (http://developer.android.com/guide/topics/appwidgets/index.html)에는 AppWidget을 빌드 할 때 사용할 수있는 7 가지 위젯 유형이 나열되어 있습니다. 그리고 ImageSwicher는 목록에 없습니다.

아마도 가장 좋은 방법은 FrameView 또는 RelativeLayout을 사용하여 여러 개의 ImageView를 서로 쌓아 올린 다음 현재 원하는 이미지 만 표시 될 때까지 하나씩 표시 여부를 설정하는 것입니다.

+0

하지만 문제는 이미지간에 애니메이션을 사용하는 방법이됩니다. –

+0

그래, 한 번 내 위젯에서 LayoutAnimations를 사용하려고했는데 결과가 좋지 않았습니다. 예를 들어 사용자가 업그레이드 후 처음으로 내 위젯 중 하나를 사용하여 홈 화면으로 이동 한 경우와 같이 재미있는 시간에 실행됩니다. 정말로 애니메이션을 원한다면 AlarmManager (또는 다른 유형의 스케줄링 메커니즘)를 사용하여 100ms 간격으로 다섯 가지 업데이트를 예약 한 다음 이미지의 알파를 조작하여 페이드 인/페이드를 달성해야한다고 생각합니다. 예를 들어 –