2014-10-22 46 views
5

我刚刚更新了我的android SDK以获取android 5更新。这些都是我做的步骤:NavigationDrawer无法正常使用SupportLibrary修订版本21

  • 更新了Android的SDK
  • 更新了Eclipse插件
  • 更新我的项目构建目标= 21和targetSdkVersion = 21

然后我跑我的应用程序(这是使用compat-v7库),并发现导航抽屉似乎越野车。操作栏中的应用程序图标已消失,整体样式看起来不正确(请参见图2)。

所以我把"Creating a Navigation Drawer"例子,进行以下测试:

下载示例项目,更新了构建目标和targetSdk并取代了Android的支持,v4.jar与COMPAT-V7库(修订版21 )。 改变了ActionBarDrawerToggle进口从android.support.v4...import android.support.v7...

的结果是正确的:

图1:

enter image description here

然后我尝试从活动交换在MainActivity父类ActionBarActivity,更换getActionBar()来电getSupportActionBar()getFragmentManager()getSupportFragmentManager()

还增加了android:theme="@style/Theme.AppCompat"主题活动

它的工作原理,但应用程序图标丢失和选项菜单中没有显示为一个动作。见下面的截图。

图2:

enter image description here

我怎样才能解决呢?

最新通报

随着代码:

getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
getSupportActionBar().setHomeButtonEnabled(true); 
getSupportActionBar().setIcon(R.drawable.ic_launcher); 
getSupportActionBar().setDisplayShowHomeEnabled(true); 

会得到以下栏:

enter image description here

这是很确定,但我preffer的精简版本,其中抽屉指示器/箭头没有填充图标(见下图)。我怎样才能实现它?

enter image description here

+0

我有工具栏吃了我的菜单选项并将它们放在溢出菜单中的相同问题:/你有没有找到这个解决方案? – DrkStr 2014-11-12 07:28:38

回答

0

这是否按预期运行,默认情况下不当前显示的应用程序图标。您可以调用以下命令重新显示图标。

ActionBar ab = getSupportActionBar(); 
ab.setHomeButtonEnabled(true); 
+3

“创建导航抽屉”示例已经使用它并且图标仍然丢失 – Addev 2014-10-23 07:49:47

+0

这不起作用,更好的解决方案是这一个:http://stackoverflow.com/a/26716012/1159404 – 2014-11-15 10:27:24

2

这实际上是预期行为为新的材料设计范例。据对Toolbar官方文档:

在现代的Android UI的开发者应该靠更对工具栏比他们的应用程序图标,视觉上不同的色彩方案。应用程序图标和标题作为标准布局的使用在API 21设备和更新版本上是不鼓励的。

0

切换到新的ActionBarActivity后,它看起来像隐藏了Home/Logo的Actionbar。而@ style/Theme.AppCompat默认没有Logo。你可以使用.setHomeButtonEnabled(true)来启用它。