編輯:Android編程入門
1、ViewAnimator,繼承自FrameLayout
ViewAnimator是一個基類,它繼承自FrameLayout。它的子類有ViewSwitcher和ViewFlipper;ViewSwitcher的子類有ImageSwitcher和TextSwitcher。
與AdapterViewAnimator類似,它也有android:inAnimation、android:outAnimation、android:animateFirstView屬性
提供了addView(View)方法,可以使用這個方法向ViewAnimator添加需要切換的View,然後使用showPrevious和showNext進行向前和向後的切換
2、ViewSwitcher,繼承自ViewAnimator
ViewSwitcher通過setFacotry(ViewFactory)關聯到ViewFactory,ViewSwitcher所使用的View對象就是由這個ViewFactory提供。
ViewFactory只聲明了一個方法:public View makeView()。可以在這個方法中設置所有呈現的View包含什麼空間,以及呈現的樣式。
AdapterViewAnimator的子類中沒有與ViewSwitcher對應的類。可以將ViewSwitcher獲取View的方式與AdapterViewAnimator比較,以便於記憶。AdapterViewAnimator使用Adpater來構造View對象;ViewSwitcher不使用Adapter對象,它使用ViewFactory來構造View。而且AdapterViewAnimator所使用的數據都在Adapter對象中;而ViewSwitcher對應的ViewFactory只構造View,View如何呈現由ViewFactory決定,但是所使用的數據,會另外提供,並不會體現在ViewFactory中。
ViewSwitcher重寫了addView(View)方法,如果使用addView(View)方法,會拋出異常。這樣阻斷了通過addView(View)向ViewSwitcher中添加要切換的View的方式。可以在顯示下一個View的位置(比如向左滑動的事件中,或者點擊按鈕的事件中),通過ViewSwitcher對象的getNextView(),獲取下一個View的對象。然後在這個View對象上添加數據,然後調用showNext方法。
ViewSwitcher只保存了兩個View(當前View和上一個View),所以只能追溯到前一個View。所以如果調用ViewSwitcher對象的showPrevious方法,只能是在當前View和前一個View之間來回切換。
3、ImageSwitcher,繼承自ViewSwitcher
ImageSwitcher只是在ViewSwitcher的基礎上進行了簡單的修改,所以兩者有很多地方都很相似。比如,不能使用addView(View),只保存兩個ImageView,還包括需要使用ViewFactory等等。
ImageSwitcher提供了setImageResource、setImageUri、setImageDrawable方法,可以通過這3個方法十分方便的設置下一個View將要顯示的內容。ViewSwitcher的使用方法在這3個方法中已經有所體現,所以不需要按照ViewSwitcher的方式來使用ImageSwitcher。
與ViewSwitcher不同的是,ImageSwitcher的ViewFactory的makeView方法只能返回ImageView。因為上面提到的3個方法中,將ViewFactory傳遞過來的View強制轉換成了ImageView。
4、TextSwitcher,繼承自ViewSwitcher
與ImageSwitcher相似,TextSwitcher也提供了一個setText方法,用於設置下一個TextView的文本。它也不能使用addView、只保留兩個TextView等等。
TextSwitcher對應的ViewFactory的makeView方法也只能返回TextView。
特別的是,TextView提供了一個setCurrentText方法,用於設置當前TextView的文本。
TextSwitcher雖然重寫了addView方法,但只是加了一些限制,所以依然不能使用addView方法。
5、ViewFlipper,繼承自ViewAnimator
ViewFlipper並沒有對ViewAnimator進行太多的修改,所以ViewFlipper可以使用addView方法增加View。
ViewSwitcher只能保存兩個View,而ViewFlipper沒有這樣的限制。
ViewFlipper在ViewAnimator的基礎上,提供了startFlipping和stopFlipping方法,用於開始和停止自動播放;setFlipInterval用於設置自動播放的間隔時間。
前言 這是“基礎自測”系列的第三篇文章,以Android開發需要熟悉的20個技術點為切入點,本
大家好,今天總結一片ListView加載不同Item布局的博客,在Android的app開發當中ListView貌似是基本配置,一般我們的ListView主要是作為列表類
Android 服務(Service)服務是一個後台運行的組件,執行長時間運行且不需要用戶交互的任務。即使應用被銷毀也依然可以工作。服務基本上包含兩種狀態
Android 概述什麼是 Android?Android 是一個開源的,基於 Linux 的移動設備操作系統,如智能手機和平板電腦。Android 是由