首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当我设置自定义actionbar时,会显示两个actionbar

当设置自定义actionbar时,出现两个actionbar的情况通常是由于以下原因之一:

  1. 主题冲突:可能是由于应用程序的主题与自定义actionbar的样式不兼容导致的。在Android中,actionbar通常是由主题控制的,如果你在代码中设置了自定义actionbar,而主题中也定义了actionbar,就会出现两个actionbar的情况。解决这个问题的方法是确保你的自定义actionbar样式与应用程序的主题相匹配。
  2. 错误的布局:另一个可能的原因是在布局文件中错误地添加了两个actionbar。检查你的布局文件,确保只有一个actionbar的布局。

要解决这个问题,你可以按照以下步骤进行操作:

  1. 确保你的应用程序的主题与自定义actionbar样式相匹配。你可以在AndroidManifest.xml文件中的<application>标签中设置主题,或者在代码中使用setTheme()方法设置主题。
  2. 检查你的布局文件,确保只有一个actionbar的布局。如果你在布局文件中使用了<android.support.v7.widget.Toolbar><androidx.appcompat.widget.Toolbar>标签来定义自定义actionbar,确保只有一个这样的标签存在。
  3. 如果你使用的是旧版的ActionBar而不是Toolbar,可以尝试在代码中使用getSupportActionBar().setDisplayShowTitleEnabled(false)方法来隐藏默认的actionbar。

总结起来,当设置自定义actionbar时出现两个actionbar的问题通常是由于主题冲突或错误的布局导致的。通过确保主题与自定义actionbar样式相匹配,并检查布局文件中只有一个actionbar的布局,可以解决这个问题。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android ActionBar完全解析,使用官方推荐的最佳导航栏(下)

注意,ShareActionProvider自己处理它的显示和事件,但我们仍然要记得给它添加一个title,以防止它会在overflow当中出现。...比如说,在平板上屏幕的空间非常充足,Tabs和Action按钮在同一行显示,如下图所示: ? 而如果是在手机上,屏幕的空间不够大的话,Tabs和Action按钮则会分为两行显示,如下图所示: ?...实现ActionBar.TabListener接口,这个接口提供了Tab事件的各种回调,比如当用户点击了一个Tab,你就可以进行切换Tab的操作。...比如说这里我们想创建两个Tab页,Artist和Album,那就要先准备好这两个Tab页对应的Fragment。...首先调用ActionBar的newTab()方法来创建一个Tab实例,接着调用了setText()方法来设置标题,然后再调用setTabListener()方法来设置事件监听器,最后再调用ActionBar

1.5K80

Head First Android ActionBar

本文介绍Android ActionBar的使用 最近在Android Studio中新建项目发现Activity还是和以前一样,默认继承自ActionBarActivity,但是ActionBarActivity...以修改ActionBar的背景颜色为例,如果是支持Android 3.0及以上版本的话可以用下面的方式,需要注意两点:(1)自定义android:actionBarStyle ;(2) 自定义的actionBarStyle...> 如果是支持Android 2.1版本以上的话,可以用下面的方式,注意这里需要设置background和android:background两个属性的值: <?...属性 android:showAsAction 可以用来设置该菜单项的显示方式,共有5中属性值: never:永远不会显示。只会在溢出列表中显示。...ifRoom:显示在Item中,但是如果已经有4个或者4个以上的Item时会隐藏在溢出列表中。 always:无论是否溢出,总会显示。 withText:Title显示

72010
  • Android系列之ActionBar使用详解

    ”中,已经创造了ActionBar 3、当android:minSdkVersion 或者 android:targetSdkVersion 属性被设置成11或者更高,应用会被认为是Android3.0...同样调用actionBar.show();重新绘制界面。如果我们一个程序需要频繁的显示或者隐藏ActionBar的话,这样 就不会有良好的效果。...,只显示图标 2、如果想要显示字的效果,在xml里如下设置:android:showAsAction="ifRoom|withText" 或者在代码里调用setShowAsAction():setShowAsAction...看menu_sitting 就永远不会显示出来,只有在按menu时候显示。谷歌文档中提供android:showAsAction总共有五个属性。 never:永远不会显示。...只会在溢出列表中显示。 ifRoom:显示在Item中,但是如果已经有4个或者4个以上的Item时会隐藏在溢出列表中。 always:无论是否溢出,总会显示

    3.6K20

    【Android 应用开发】 ActionBar 基础

    () 方法, 即可获取; -- 设置 ActionBar 显示 : ActionBar.show() 方法; -- 设置 ActionBar 隐藏 : ActionBar.hide() 方法; (2)...Menu 菜单; -- SHOW_AS_ACTION_IF_ROOM 参数 : 位置足够显示 菜单; -- SHOW_AS_ACTION_WITH_TEXT 参数 : 显示 Menu 在 ActionBar...-- android:title 属性 : 显示名称 android:icon 属性 : 显示图标 android:showAsAction 属性 : 设置是否在 ActionBar...; -- setDisplayOption(int) : 设置 ActionBar显示选项; -- setDisplayShowHomeEnable(boolean) : 设置是否显示应用程序图标;...相关代码 设置显示应用图标并添加左箭头 :  actionBar = getActionBar(); /* 设置将左侧图标设置成可点击图标, 并添加一个左箭头 */ actionBar.setDisplayHomeAsUpEnabled

    1.3K30

    高级 Vue 技巧:控制父类的 slot

    > 监听该事件,并将slotContent设置为我们的App组件发送给我们的任何内容。...无论组件树如何显示,我们都可以控制组件在DOM中的显示位置。 例如,假设我们想要填充一个modal。但是我们的modal必须在根页面处渲染,这样我们才能正确地覆盖它。...但我们可以使用自己的自定义ActionBar配置覆盖此插槽: ...简化一下 当我们第一次定义问题: 我们可以让子组件填充父组件的插槽吗? 但实际上,这个问题与props没有任何关系。 更简单地说,它是关于使子组件控制在其自己的子树之外渲染的内容。...、提升状态和依赖项注入是两个非常有用的模式。它们是我们武器库中最好的工具,因为它们可以应用于无数的软件开发问题。

    1.7K20

    Head First Android Toolbar

    我的理解是大致如下图所示,如果没有AppCompat,我们开发的应用在不同版本的Android系统上显示起来像上面一行的三个图片那样,没有统一的界面风格;而如果使用了AppCompat的话,就会像下面一行的三个图片那样...再来看下Toolbar,这是从AppCompat 21版本开始引入的,它的使用就像一个普通的View组件一样,同时它还可以充当ActionBar,这样我们设置的菜单项就会显示在它上面了。...的功能,默认提供了很多种元素可以放置在Toolbar上,其中包括导航按钮、logo图标、标题和子标题、一个或多个自定义的View以及菜单项。...(3.1)设置Theme 可以直接设置为Theme.AppCompat.NoActionBar 主题或者给原有Theme添加两个属性表示我们不使用ActionBar。...android:attr/colorPrimary" /> (3.3)设置Toolbar为ActionBar 在Activity的onCreate 方法中调用setSupportActionBar(Toolbar

    88820

    actionbar详解(二)

    ,而setOverflowShowingAlways()方法则是屏蔽掉物理Menu键,不然在有物理Menu键的手机上,overflow按钮显示不出来。...现在我们已经把ActionBar的界面都实现好了,但是如果你现在运行一下会发现,效果和微信还差得比较远,因为在字体的颜色和大小等方面我们还没有进行微调,因此接下来我们还需要自定义ActionBar的样子...自定义ActionBar样式的方法我在上一篇文章有介绍过,不熟悉的朋友可以再去参考一下。...Tab Indicator的颜色         tabs.setIndicatorColor(Color.parseColor("#45c01a"));   // 设置选中Tab文字的颜色 (这是我自定义的一个方法...其中有一点需要注意,setSelectedTextColor()这个方法是我自定义的,因为PagerSlidingTabStrip并不支持高亮显示选中Tab那一项的标题,而微信却有这个效果,因此我在这里对

    84380

    actionbar完全解析(一)

    使用ActionBar的好处是,它可以给提供一种全局统一的UI界面,使得用户在使用任何一款软件都懂得该如何操作,并且ActionBar还可以自动适应各种不同大小的屏幕。...下面是一张使用ActionBar的界面截图: ? 其中,[1]是ActionBar的图标,[2]是两个action按钮,[3]是overflow按钮。...可以看到,action_compose和action_delete这两个按钮已经在ActionBar显示出来了,而action_settings这个按钮由于showAsAction属性设置成了never...可以看到,这时SearchView就会展开占满整个ActionBar,而其它的Action按钮由于将showAsAction属性设置成了ifRoom,此时都会隐藏到overflow当中。...Overflow按钮不显示的情况 虽然现在我们已经掌握了不少ActionBar的用法,但是当你真正去使用它的时候还是可能遇到各种各样的问题,比如很多人都会碰到overflow按钮不显示的情况。

    1K100

    关于 Android 中的各种 Bar 和“透明状态栏”的一些知识

    没错就表示我们 Android 中最上面显示时间、通知的那一栏。 说起 TitlBar、ActionBar、ToolBar,要和 Android 的发展历史有关了。...actionBar = getSupportActionBar(); actionBar.hide(); // 结果就是 提前预留了一块系统 UI 的控件,下拉的时候,状态栏内容就会显示出来。...screnn_stable.png 5.沉浸模式 // 所谓沉浸模式就是一开始我们的 UI 布局是全屏的,状态栏和虚拟导航键也是隐藏的,当我们需要的系统 UI 的时候,从状态栏的位置下拉就可以出现系统...Android 4.4 修改状态栏颜色 // 将状态栏设置为透明(需要 API 19) 设置成这种模式后,状态栏变成透明,我们的内容布局(只是我们 Activity 对应的布局,不包含 Window...Android页面来自网络.png 每个 Activity 对应一个页面,是不包括 status bar 的,不过可设置 status bar 显示还是不显示,可以设置 Activity 是否延伸到 status

    2.6K10

    自定义actionbar

    Android 3.0及以上已经有了ActionBar的API,可以通过引入support package在3.0以下的平台引用这些API,但这儿呢,完全自定义一个ActionBar,不用引入额外jar...attr/gdActionBarBackground" bar:type="normal" bar:title="Test ActionBar" /> 这个自定义...title就是actionbar的上的标题;type是区分这个actionbar的上左边item的布局,有三种类型,一种是normal:左边是一个显示主页的imagebutton和显示title的textview...,一种是dashboard,左边是一个显示app图标的imageview和显示title的textview,一种是empty,左边只有一个显示title的textview,右边都是自己添加的按钮,默认是...) {   // 当按左边的主页按钮所触发的操作                     Toast.makeText(MainActivity.this, "home or back",

    72190

    Android状态栏微技巧,带你真正理解沉浸式模式

    另外,根据Android的设计建议,ActionBar是不应该独立于状态栏而单独显示的,因此状态栏如果隐藏了,我们同时也需要调用ActionBar的hide()方法将ActionBar也进行隐藏。...接下来我们使用了SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN和SYSTEM_UI_FLAG_LAYOUT_STABLE,注意两个Flag必须要结合在一起使用,表示让应用的主体内容占用系统状态栏的空间...actionBar = getSupportActionBar(); actionBar.hide(); 这里使用了SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION,表示让应用的主体内容占用系统导航栏的空间...可以看到,界面默认情况下是全屏的,状态栏和导航栏都不会显示。...而当我们需要用到状态栏或导航栏,只需要在屏幕顶部向下拉,或者在屏幕右侧向左拉,状态栏和导航栏就会显示出来,此时界面上任何元素的显示或大小都不会受影响。

    2.1K100

    Android ActionBar应用实战,高仿微信主界面的设计

    ,而setOverflowShowingAlways()方法则是屏蔽掉物理Menu键,不然在有物理Menu键的手机上,overflow按钮显示不出来。...现在我们已经把ActionBar的界面都实现好了,但是如果你现在运行一下会发现,效果和微信还差得比较远,因为在字体的颜色和大小等方面我们还没有进行微调,因此接下来我们还需要自定义ActionBar的样子...自定义ActionBar样式的方法我在上一篇文章有介绍过,不熟悉的朋友可以再去参考一下。...("#45c01a")); // 设置选中Tab文字的颜色 (这是我自定义的一个方法) tabs.setSelectedTextColor(Color.parseColor("#45c01a")...其中有一点需要注意,setSelectedTextColor()这个方法是我自定义的,因为PagerSlidingTabStrip并不支持高亮显示选中Tab那一项的标题,而微信却有这个效果,因此我在这里对

    1.4K50
    领券