Java 在片段中创建透明的actionbar

Java 在片段中创建透明的actionbar,java,android,xml,layout,fragment,Java,Android,Xml,Layout,Fragment,我一直在寻找如何在片段中创建透明的actionbar,但到目前为止还没有答案。因此,场景是,我使用导航抽屉创建一个应用程序,每个菜单都指向MainActivity中的相同操作栏 但我不能像这样在透明模式下自定义actionbar。在这方面: getWindow().requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY); ActionBar actionBar = getActionBar(); actionBar.setBackgroundDrawa

我一直在寻找如何在片段中创建透明的actionbar,但到目前为止还没有答案。因此,场景是,我使用导航抽屉创建一个应用程序,每个菜单都指向
MainActivity
中的相同操作栏

但我不能像这样在透明模式下自定义actionbar。在这方面:

getWindow().requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
ActionBar actionBar = getActionBar();
actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#330000ff")));
actionBar.setStackedBackgroundDrawable(new ColorDrawable(Color.parseColor("#550000ff")));
该代码必须在
setContentView
之前完成,正如您在片段中所知,我们使用
onCreateView
进行布局


如何在fragment中实现透明的actionbar?

如果您只想创建透明的actionbar,那么可以在fragment的onCreateView中通过这种方式实现

getActivity().getActionBar().setBackgroundDrawable(新的ColorDrawable(Color.parseColor(#33000000)));

使用工具栏并使用以下代码使其行为类似于操作栏

Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
setSupportActionBar(toolbar);
要在布局中包括工具栏,请使用以下命令

<android.support.v7.widget.Toolbar
android:id=”@+id/my_awesome_toolbar”
android:layout_height=”wrap_content”
android:layout_width=”match_parent”
android:minHeight=”?attr/actionBarSize”
android:background=”?attr/colorPrimary” />

和处理ActionBar相比,更改工具栏的透明度要容易得多


设置后,您可以像处理任何其他视图一样处理工具栏,即动态更改透明度/颜色对于工具栏来说非常容易

使用片段所附加到的父活动中的代码。导航抽屉所在的
MainActivity
类中的代码也是如此?为什么不将此代码放在activity类或FragmentActivity中上课?我认为这样会更好。我不能使用这个,因为工具栏已经有了基于主工具栏(在主活动中设置)的工具栏。您可以始终使用getActivity()方法并参考外部定义的工具栏。您还可以创建一个全局变量来引用工具栏