Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 日歷開發教程

Android 日歷開發教程

日期:2017/2/23 18:16:22      編輯:關於Android編程

代碼應該是比較簡單的,如果下載了源文件,理解起來會比較容易。而且貼出代碼,顯得太累贅,為此我做了下面這張圖,其實就是對第一節那個簡圖的增加版:     使用 ViewPager 是因為我在官方教程裡看到了這篇文章:Using ViewPager for Screen Slides,裡面還提供了例程下載,再結合上圖,可以了解整個過程。   運行的流程按我的理解如下:   MainActivity執行,當屏幕初始化顯示時,調用 onCreate() (這裡用回調方式,可以避免對象在內存中創建,但未讓屏幕顯示時被執行畫圖處理,可以節約系統開支) onCreate() 中初始化 ViewPager,給出用於頁幀管理的對象 CalendarPagerAdapter;設置初始要顯示的頁碼。 ViewPager 針對當前要顯示的頁碼,向 CalendarPagerAdapter 請求包括相鄰的兩個頁的 Fragment,共創建了三個幀對象。如果你用調試去跟蹤,你會發現我在上面所說的現象,雖然是創建了三幀對象,但只有一幀的 onCreateView() 方法被調用,因為其它兩幀還不需要在屏幕上繪制。 當某一幀要在屏幕上顯示時,CalendarPagerFrament 類的 onCreateView() 方法被回調,在 onCreateView() 方法裡,CalendarTableCellProvider 類的 getView 方法接著被調用,在循環裡反復調用,直到一整個月所有的單元格被創建。   關於 Layout 如何被創建:   Layout 的 XML 文件,是在代碼裡被顯式加載的,對於 Activity 類,是在 onCreate() 方法中的語句 setContentView(R.layout.activity_main); 來加載,在其它兩處,則是使用語句inflater.inflate(R.layout.view_calendar_table, container, false); 來加載。     關於窗口樣式:   在 MainActivity 裡有一句 requestWindowFeature(Window.FEATURE_NO_TITLE); 而實際上,可以通過設置 Activity 的主題來實現,選擇一個 NoActionBar 的主題就可以了。可以打開文件 AndroidManifest.xml,其中的 AboutActivity 被設置為 Dialog 主題風格,顯示時就不會有標題欄。BTW,同時,AboutActivity 也不需要菜單,因此我將 IDE 自動生成的菜單 XML 文件,以及代碼中的菜單事件處理函數都刪除了。     代碼的講解這般就結束了,如果有疑問,可以評論提交。
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved