为了跟上谷歌的新面貌,我试图让我的两个顶部条形透明,而且还没有成功。错误/没有发生变化
这是我制作标签的活动(不确定这是否应该在哪里设置)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTitle = mDrawerTitle = getTitle();
// load slide menu items
navMenuTitles = getResources().getStringArray(R.array.nav_drawer_items);
// nav drawer icons from resources
navMenuIcons = getResources()
.obtainTypedArray(R.array.nav_drawer_icons);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerList = (ListView) findViewById(R.id.list_slidermenu);
navDrawerItems = new ArrayList<NavDrawerItem>();
// adding nav drawer items to array
// Home
navDrawerItems.add(new NavDrawerItem(navMenuTitles[0], navMenuIcons.getResourceId(0, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[1], navMenuIcons.getResourceId(1, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[2], navMenuIcons.getResourceId(2, -1), true, "22"));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[3], navMenuIcons.getResourceId(3, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[4], navMenuIcons.getResourceId(4, -1), true, "+10"));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[5], navMenuIcons.getResourceId(5, -1)));
getActionBar().setDisplayHomeAsUpEnabled(true);
getWindow().requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
ActionBar actionBar = getActionBar();
actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#330000ff")));
actionBar.setStackedBackgroundDrawable(new ColorDrawable(Color.parseColor("#550000ff")));
这给了我一个错误。我目前正在使用自定义主题。我做错了什么我知道上面的代码是针对一项活动的。在我的风格中是否有一些我缺少的东西,或者我把它放在错误的活动中。
答案 0 :(得分:1)
如果您是从片段中执行此操作,则需要调用:
getActivity().getWindow()
答案 1 :(得分:0)
要使用此功能,您必须使用最低API版本11 。请检查清单文件中提到的API最低版本。还要检查应用程序的构建目标集。
您编写的代码序列错误。 您的代码:
actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#330000ff")));
actionBar.setStackedBackgroundDrawable(new ColorDrawable(Color.parseColor("#550000ff")));
actionBar = getActivity().getActionBar();
问题:首先设置操作栏的背景,然后使用getActionBar()方法访问活动操作栏。你需要首先获得Action Bar然后为它设置背景。
修改后的代码:
actionBar = getActivity().getActionBar();
actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#330000ff")));
actionBar.setStackedBackgroundDrawable(new ColorDrawable(Color.parseColor("#550000ff")));