我一直在搜索如何在片段中创建透明的actionbar,但到目前为止还没有答案。因此,场景是,我使用Navigation Drawer创建一个应用程序,每个菜单都引用MainActivity
中的相同操作栏。
但我不能在透明模式下自定义操作栏,比如这个透明操作栏:自定义tabcolor。在此:
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(new 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 相比,更改Toolbar的透明度要容易得多
一旦设置好,您就可以像处理任何其他视图一样处理工具栏,即动态更改透明度/颜色对于toolbar 来说非常容易