我一直在試圖使目前使用ActionBarActivity的向上按鈕了幾個小時我的抽屜式導航欄打開,但我似乎無法工作了。Android的動作條上按鈕無法打開抽屜式導航
現在,我可以通過滑動/向右滑動打開它,我可以看到箭頭Up /後退的動作條按鈕,但導航無法打開抽屜,一旦我輕點按鈕。
請注意,我使用的是支持V7 ActionBarDrawerToggle
。
這裏是我的ActionBarActivity的onCreate
:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getFragmentManager().beginTransaction()
.add(R.id.container, new HomeFragment())
.commit();
}
Log.d(TAG, "onCreate");
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
mDrawerLayout = (DrawerLayout) findViewById(R.id.main_drawer_layout);
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.drawer_open, R.string.drawer_close);
mDrawerLayout.setDrawerListener(mDrawerToggle);
mDrawerToggle.setDrawerIndicatorEnabled(true);
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
Log.d(TAG, "onPostCreate");
mDrawerToggle.syncState();
}
我缺少的東西?也許有一個方法調用將ActionBar的Up/Back按鈕鏈接到DrawerToggle?
任何幫助/指導是很好的讚賞。
更新:我也試過使用mDrawerToggle.syncState();
,沒有任何改變。更新上面的onCreate方法以包含syncState
調用。
更新2:我再次更新了代碼,以便它如何在我的MainActivity文件中保持當前狀態。我按照建議進行了一些更改,但抽屜仍然無法打開。
我在兩個設備測試這樣的:是HTC One M7採用Android 5.0.2和Sense 6.5,在x86模擬器AVD運行棒棒糖SDK 21
如果不使用工具欄替換默認的ActionBar,不能做到這一點嗎?這可能會起作用,但看起來很簡單的任務似乎太乏味了。如果我不能在不更換默認ActionBar的情況下完成這項工作,我會試試這個。不管怎樣,謝謝你!如果這有效,我會告訴你。 – Cramps
'ToolBar'是'ActionBar'的泛化。在哪裏可以使用'ActionBar',你可以使用'ToolBar'。 – SilentKnight
我剛完成實施它的「工具欄方式」,它的工作原理如下。謝謝! :) – Cramps