ActionBar / Toolbar未在Lollipop版本的应用上显示

我目前正在尝试将我的应用程序转换为棒棒糖材质设计,并且在操作栏/工具栏中遇到了一些问题。 按照我的方式实现所有操作,操作栏/工具栏不会显示在棒棒糖或kitkat设备上。 也许有人可以看看我的主题,样式,activity_main(我拿着一堆片段,是我放置工具栏xml代码的唯一地方)和mainactivity。

谢谢。

价值观/ styles.xml

   @menu/action_menu    

值/的themes.xml

     @color/material_blue_grey_800 @color/material_blue_grey_950 @color/black true false   

activity_main.xml中

       <!--  -->  

主要活动

 public class MainActivity extends ActionBarActivity implements OnItemClickListener { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Fragment fragment = new MadlibsSelect(); fragment = new MadlibsSelect(); FragmentTransaction fm = getSupportFragmentManager().beginTransaction(); fragment.setArguments(getIntent().getExtras()); fm.add(R.id.fragment_container, fragment); fm.commit(); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); toolbar.inflateMenu(R.menu.action_menu); //ActionBar bar = getActionBar(); //bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#428bca"))); ...more stuff happen down here including adding nav drawer. 

改变你的activity_main.xml,如下所示

           

如果您正在使用setSupportActionBar,那么toolbar.inflateMenu将无效。

有关详细信息,请查看此文章Android Usages Of Toolbar 。 它可能会帮助你。

使用新的AppCompat库时,您的活动必须从ActionBarActivity扩展。

是的,这发生了,我浪费了一个多小时来解决这个问题。

  @Override protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); // Sync the toggle state after onRestoreInstanceState has occurred. mDrawerToggle.syncState(); } 

这将自动同步并最终显示toogle图标。

 @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); // Pass any configuration change to the drawer toggls mDrawerToggle.onConfigurationChanged(newConfig); } 

这对我有用,希望有所帮助。