很是喜歡 網易新聞客戶端的 界面風格,一直都想知道是怎麼實現的。下午敲代碼太累了,瀏覽了一下網頁發現了幾個android的開源項目,而後和網易新聞客戶端一對比知道使用的應該是sliding menu 還有個下拉刷新的開源項目,不知道有沒有使用actionbarsherlock。java
在csdn上有一篇博客寫的就是防網易新聞客戶端的文章(http://blog.csdn.net/top_code/article/details/17360853)android
索性就按照博客做者的文章搭了一下Eclipse環境,以爲不過癮就照着文章在android studio中進行實現,可是能力不夠搭的aar包,怎麼都不起做用。只能手動的複製slidingmenu代碼到本身的工程裏面。
git
一開始用得時actionbarsherlock,聽說這倆是絕配。奈何我不會使用actionbarsherlock,複製完slidingmenu代碼和例子代碼後,getActionbar()方法老師報空指針,無奈只能換回官方的兼容包,使用ActionBarActivity來進行實現。天助我沒有大問題,可以成功的實現。可是仍是報一個錯
app
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.lee.learn.slidingmenu.testsildingmenu.app/com.lee.learn.slidingmenu.testsildingmenu.app.MainActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) at android.app.ActivityThread.access$800(ActivityThread.java:135) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5017) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:108) at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:57) at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:98) at com.jeremyfeinstein.slidingmenu.lib.app.SlidingActivity.onCreate(SlidingActivity.java:21) at com.lee.learn.slidingmenu.testsildingmenu.app.MainActivity.onCreate(MainActivity.java:38) at android.app.Activity.performCreate(Activity.java:5231) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) at android.app.ActivityThread.access$800(ActivityThread.java:135) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5017) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) at dalvik.system.NativeStart.main(Native Method)
明明本身的Theme已經換成Theme.AppCompat.Light.DarkActionBar了,按說應該沒問題啊可是仍是出錯。oop
代碼以下this
http://git.oschina.net/lixuwei/TestSildingMenuspa