最近在做一個項目,使用了第三方的開源項目,主要是想實現android5.0之后推出的MaterialDesign的風格,但是代碼已經寫好了,發現一運行就閃退,所以就開始debug,發現問題出現在
1 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 2 setSupportActionBar(toolbar);
很顯然應該是在第二行出錯了,再根據logcat上的日志:
This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_SUPPORT_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.
所以應當是與activity中的ActionBar有沖突,最后嘗試多次知道,是要在清單文件中設置activity的style
(只要有用到這一行代碼的activity都需要在該activity節點下定義style),可以按照如下設置
1 <activity android:name=".MainActivity" 2 android:label="test" 3 android:theme="@style/MaterialDrawerTheme.Light.DarkToolbar"> 4 <intent-filter> 5 <action android:name="android.intent.action.MAIN"/> 6 7 <category android:name="android.intent.category.LAUNCHER"/> 8 </intent-filter> 9 </activity>
這里指的就是第三行了,這樣就不會造成程序崩潰了。
BOB
2016-09-06