作爲解決此問題的,我用了ViewFlipper代替ImageSwitcher。 我只想在預定義的圖像之間進行動畫處理,所以ViewFlipper對我來說可以。 我還沒有嘗試,但我認爲你可以使用2個圖像瀏覽器,在下一個視圖上設置正確的圖像,並調用viewflipper.showNext()。
編輯:最後,我不得不做我在上面寫的項目,我正在努力,它的工作原理。
在layout.xml您有:
<ViewFlipper
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:id="@+id/viewFlipper">
<ImageView
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:src="@drawable/market_product01"
android:id="@+id/imgFirst">
</ImageView>
<ImageView
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:id="@+id/imgSecond">
</ImageView>
</ViewFlipper>
然後創建一個處理圖像開關類:
public class MyImageViewSwitcher {
private ViewFlipper flipper;
private ImageView[] views;
private int currentView = 0;
public MyImageViewSwitcher(ViewFlipper flipper, ImageView first, ImageView second) {
currentView = 0;
this.flipper = flipper;
views = new ImageView[2];
views[0] = first;
views[1] = second;
}
public void setImage(Drawable image) {
currentView = (currentView + 1) % 2;
views[currentView].setImageDrawable(image);
flipper.showNext();
}
}
從你的活動,你建一個ImageViewSwitcher:
ViewFlipper viewFlipper = (ViewFlipper) findViewById(R.id.viewFlipper);
viewFlipper.setInAnimation(android.R.anim.fadeIn);
viewFlipper.setOutAnimation(android.R.anim.fadeOut);
ImageView imgFirst = (ImageView) findViewById(R.id.imgFirst);
ImageView imgSecond = (ImageView) findViewById(R.id.imgSecond);
this.imageSwitcher = new MyImageViewSwitcher(viewFlipper, imgFirst, imgSecond);
每次你想改變你調用的方法的內容時:
imageSwitcher.setImage(Drawable d)
來源
2011-06-10 13:45:52
Ena
能任何人都可以幫助我:( – anticafe 2011-04-18 03:52:54
你應該接受一個答案。你試過安德魯建議的嗎? – Namratha 2012-09-14 12:18:39