Android setSupportActionBar和setActionBar之间的差异
因此,我尝试将工具栏用作应用程序中的操作栏。我试图在一个片段中使用Android setSupportActionBar和setActionBar之间的差异,android,android-actionbar,toolbar,Android,Android Actionbar,Toolbar,因此,我尝试将工具栏用作应用程序中的操作栏。我试图在一个片段中使用setSupportActionBar()方法,该片段由一个扩展了AppCompatActivity的类的活动托管。由于某些原因,我根本无法执行getActivity().setSupportActionBar(),我只能执行getActivity().setActionBar()。问题是setSupportActionBar()接受android.support.v7.widget.Toolbar其中setActionBar()
setSupportActionBar()
方法,该片段由一个扩展了AppCompatActivity
的类的活动托管。由于某些原因,我根本无法执行getActivity().setSupportActionBar()
,我只能执行getActivity().setActionBar()
。问题是setSupportActionBar()
接受android.support.v7.widget.Toolbar
其中setActionBar()
只接受android.widget.Toolbar。这导致我的应用程序仅限于使用棒棒糖的设备
我发现的一个附带问题是,当我试图将工具栏的主题更改为黑色时
app:theme="@style/ThemeOverlay.AppCompat.Dark"
它不起作用。getActivity()
具有类Activity
,即使您的Activity
是一种子类AppCompatiActivity
。您必须强制转换getActivity()
,调用
((AppCompatActivity)getActivity()).setSupportActionBar()
对于主题问题,您应该将详细信息张贴在您已放置了什么样式定义的位置,或者将其放在单独的问题中。谢谢,主题问题是通过能够使用android.support.v7.widget.Toolbar而不是android.widget.Toolbar来解决的。