您好,登錄后才能下訂單哦!
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)入,如果項目和庫不在同一路徑編譯會出錯
3. 使用ABS庫實現(xiàn)Actionbar的步驟
1) Activity修改為繼承SherlockActivity
2) 將onCreateOptionsMenu方法參數(shù)的Menu類型改為sherlock
3) 將getMenuInflater()修改為getSupportMenuInflater()
4) 獲得Actionbar對象
5) 設(shè)置Actionbar屬性
6) back按鈕點擊事件
7) 增加菜單項,注意設(shè)置順序orderInCategory屬性和
shouAsAction屬性
8) 在2.x版本中會FC
you must Theme.Sherlock,Theme.Sherlock.Light
4. 側(cè)滑菜單
早期是由第三方App實現(xiàn),Path FaceBook
使用開源項目SlidingMenu-master
5. 導(dǎo)入SlidingMenuDemo注意事項
slidingmenu的庫項目有錯誤,修改SlidingFragmentActivity
繼承SherlockFragmentActivity
6. 使用SlidingMenu開源項目的步驟:
1) Activity繼承SlidingFragmentActivity
onCreate()方法修改為public
onCreateOptionsMenu()參數(shù)改為sherlock
getMenuInflater()修改為getSupportMenuInflater()
2) 清單中設(shè)置主題為:Theme.sherlock.Light.DarkActionbar
3) 設(shè)置側(cè)滑菜單的布局
4) 設(shè)置SlidingMenu屬性(參照SlidingMenu的Demo BaseActivity類)
7. Fragment的作用和用法
應(yīng)用場景: 當(dāng)一個Activity的局部或整體需要頻繁的被替換
需要使用Fragment。
8. 創(chuàng)建Fragment的方法
1) 新建一個類,繼承supportV4包的Fragment
2) 重寫onCreateView()方法,并關(guān)聯(lián)布局
9. 在Activity中使用Fragment步驟:
1) 將Activity修改為繼承FragmentActivity
2) 在布局中增加一個FrameLayout并設(shè)置id,
用來確定Fragment加入到布局中的位置和大小
3) 在onCreate()方法的setContentView之后新增代碼:
10. 動態(tài)添加、刪除和替換Fragment
1) 動態(tài)增加
2) 動態(tài)刪除
3) 動態(tài)替換
常見問題:
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è)置后再查看屬性,仍然提示錯誤
原因:
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.
免責(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)容。