溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

actionbar、slidingmenu、fragment的使用 day03

發(fā)布時間:2020-08-05 19:21:25 來源:網(wǎng)絡(luò) 閱讀:816 作者:無心小書童 欄目:移動開發(fā)

1. FrameAnimation

    原理:多個關(guān)鍵幀按照順序快速(100毫秒)切換

    三個要素:圖片/順序/時間

2. TweenAnimation

    原理:系統(tǒng)通過改變View的大小 位置 角度 透明度

    code和xml創(chuàng)建Animation

    xml:簡單,不可動態(tài)改變

    code:靈活,可以動態(tài)改變

    缺點:只是視圖上改變了控件,控件實際的位置不變 

3. PropertiesAnimation

    能夠完全替代TweenAnimation,并且是真正的移動了控件的位置

    使用Nineold開源項目,支持1.0以后所有版本

    

   

4. 開源項目

    原理:一個項目,一個庫(被調(diào)用的jar包),

    

5. ViewPager

    類似于ListView


二. 項目問題:

1. 歡迎頁面跳轉(zhuǎn)主頁面

2. 歡迎頁面主題

3. 機器人下落動畫    


三. 項目技術(shù)點:

1. 判斷當(dāng)前版本號

if (Integer.parseInt(Build.VERSION.SDK) >=      

      Build.VERSION_CODES.HONEYCOMB) {


2. 如何在2.x版本實現(xiàn)Actionbar

    構(gòu)成:back按鈕,圖標,標題,子標題,菜單

    好處:菜單可視化,增加了back按鈕(取消back按鍵)


    使用開源項目支持在Android2.x版本中實現(xiàn)Actionbar

    開源項目:ActionbarSherlock

    只需導(dǎo)入兩個:

    1) 庫      : ActionBarSherlock-master/actionbarsherlock

    2) Demo:ActionBarSherlock-master\actionbarsherlock-samples\demos

    注意:項目和庫必須導(dǎo)入,如果項目和庫不在同一路徑編譯會出錯

     actionbar、slidingmenu、fragment的使用 day03


3. 使用ABS庫實現(xiàn)Actionbar的步驟

1) Activity修改為繼承SherlockActivity

2) 將onCreateOptionsMenu方法參數(shù)的Menu類型改為sherlock

3) 將getMenuInflater()修改為getSupportMenuInflater()  

4) 獲得Actionbar對象

    actionbar、slidingmenu、fragment的使用 day03

5) 設(shè)置Actionbar屬性

    actionbar、slidingmenu、fragment的使用 day03

6) back按鈕點擊事件 

     actionbar、slidingmenu、fragment的使用 day03

7) 增加菜單項,注意設(shè)置順序orderInCategory屬性和

    shouAsAction屬性

    actionbar、slidingmenu、fragment的使用 day03

8) 在2.x版本中會FC

you must Theme.Sherlock,Theme.Sherlock.Light

actionbar、slidingmenu、fragment的使用 day03


4. 側(cè)滑菜單

    早期是由第三方App實現(xiàn),Path FaceBook

    使用開源項目SlidingMenu-master

  

5. 導(dǎo)入SlidingMenuDemo注意事項

slidingmenu的庫項目有錯誤,修改SlidingFragmentActivity

繼承SherlockFragmentActivity

actionbar、slidingmenu、fragment的使用 day03

  

6. 使用SlidingMenu開源項目的步驟:

1) Activity繼承SlidingFragmentActivity

        onCreate()方法修改為public

        onCreateOptionsMenu()參數(shù)改為sherlock

        getMenuInflater()修改為getSupportMenuInflater()

2) 清單中設(shè)置主題為:Theme.sherlock.Light.DarkActionbar

3) 設(shè)置側(cè)滑菜單的布局

     actionbar、slidingmenu、fragment的使用 day03

4) 設(shè)置SlidingMenu屬性(參照SlidingMenu的Demo  BaseActivity類)

     actionbar、slidingmenu、fragment的使用 day03


7.  Fragment的作用和用法

    應(yīng)用場景: 當(dāng)一個Activity的局部或整體需要頻繁的被替換

    需要使用Fragment。


8. 創(chuàng)建Fragment的方法

1) 新建一個類,繼承supportV4包的Fragment

2) 重寫onCreateView()方法,并關(guān)聯(lián)布局

    actionbar、slidingmenu、fragment的使用 day03


9. 在Activity中使用Fragment步驟:

1) 將Activity修改為繼承FragmentActivity

2) 在布局中增加一個FrameLayout并設(shè)置id,

    用來確定Fragment加入到布局中的位置和大小

3) 在onCreate()方法的setContentView之后新增代碼:

    actionbar、slidingmenu、fragment的使用 day03


10. 動態(tài)添加、刪除和替換Fragment

1) 動態(tài)增加          

    actionbar、slidingmenu、fragment的使用 day03

2) 動態(tài)刪除

    actionbar、slidingmenu、fragment的使用 day03

3) 動態(tài)替換

    actionbar、slidingmenu、fragment的使用 day03


常見問題:

1. 導(dǎo)入開源項目庫是,控制臺提示錯誤:

[2014-08-13 11:16:04 - EX10_使用ABS庫實現(xiàn)Actionbar] Found 2 versions of android-support-v4.jar in the dependency list,

[2014-08-13 11:16:04 - EX10_使用ABS庫實現(xiàn)Actionbar] but not all the versions are identical (check is based on SHA-1 only at this time).

[2014-08-13 11:16:04 - EX10_使用ABS庫實現(xiàn)Actionbar] All versions of the libraries must be the same at this time.

[2014-08-13 11:16:04 - EX10_使用ABS庫實現(xiàn)Actionbar] Versions found are:

[2014-08-13 11:16:04 - EX10_使用ABS庫實現(xiàn)Actionbar] Path: F:\Users\longleg\workspaceHomeWork3\EX10_使用ABS庫實現(xiàn)Actionbar\libs\android-support-v4.jar

[2014-08-13 11:16:04 - EX10_使用ABS庫實現(xiàn)Actionbar] Length: 621451

[2014-08-13 11:16:04 - EX10_使用ABS庫實現(xiàn)Actionbar] SHA-1: 5896b0a4e377ac4242eb2bc785220c1c4fc052f4

[2014-08-13 11:16:04 - EX10_使用ABS庫實現(xiàn)Actionbar] Path: F:\Users\longleg\workspaceHomeWork3\lib_ABS\libs\android-support-v4.jar

[2014-08-13 11:16:04 - EX10_使用ABS庫實現(xiàn)Actionbar] Length: 271754

[2014-08-13 11:16:04 - EX10_使用ABS庫實現(xiàn)Actionbar] SHA-1: 53307dc2bd2b69fd5533458ee11885f55807de4b

[2014-08-13 11:16:04 - EX10_使用ABS庫實現(xiàn)Actionbar] Jar mismatch! Fix your dependencies


問題原因:是由于android-supportV4包有多個版本,

不同版本之間的代碼不同

解決方法:1) 使它們相同

                 2) 使庫中的jar是最新版本,將項目中的supportV4刪除


2. 代碼中輸入ActionBar actionBar = getActionBar();

    Multiple markers at this line

 - The value of the local variable actionBar is not used

 - Call requires API level 11 (current min is 8):  

  android.app.Activity#getActionBar


3. 項目導(dǎo)入庫設(shè)置后再查看屬性,仍然提示錯誤

actionbar、slidingmenu、fragment的使用 day03

    原因:

    1) 項目和庫不在同一個目錄下

    2) eclipse環(huán)境問題,重啟eclipse即可


4. java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ex_templete/com.example.ex_templete.MainActivity}: java.lang.IllegalStateException: Both setBehindContentView must be called in onCreate in addition to setContentView.



向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI