【问题标题】:How can I create a custom ActionBar?如何创建自定义 ActionBar?
【发布时间】:2014-03-04 15:36:25
【问题描述】:

我正在尝试使用 setCustomView 创建自定义 ActionBar,但是当应用程序加载时,默认 ActionBar 会在自定义视图之前加载,并且选项(菜单项)会自动添加到操作栏中。

我需要像这样创建一个 ActionBar:https://play.google.com/store/apps/details?id=com.homes.rentals

我该怎么做?

更新:

我正在使用 ActionBar AppCompat 支持库。

【问题讨论】:

  • 也许您可以为默认操作栏编写自己的样式?
  • 据我所知和搜索,没有样式选项可以将操作栏标题居中、删除图标等。

标签: android android-actionbar


【解决方案1】:

那么你如何制作自定义布局 xml,你希望它看起来像什么,然后是这样的:

ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setDisplayShowTitleEnabled(false);
    LayoutInflater inflator = (LayoutInflater) this .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = inflator.inflate(R.layout.custom_action_bar, null);

actionBar.setCustomView(v);

编辑: 要从 ActionBar 中删除您的图标,在 Java 中,请在您的 ActionBar 上调用 setDisplayShowHomeEnabled(false)setDisplayShowTitleEnabled(false)

【讨论】:

  • 这样做和这样做有区别吗? ActionBar actionBar = getSupportActionBar(); actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); actionBar.setCustomView(R.layout.actionbar);
  • 它应该是一样的,但你可以测试它:)
  • 实际上,这两种代码都可以工作,但是 Android 在加载自定义操作栏之前会显示默认操作栏。
【解决方案2】:

使用支持非常低的APISherlockActionBar 库,从API-7 开始。该库允许您添加 customActionBar UI 图标并处理其操作。

从此link下载SherlockActionBar

并使用这个简单的tutorial 知道如何使用它。

【讨论】:

  • 我正在使用 AppCompat 支持库。
  • 试试Sharlock,使用和集成更简单。
猜你喜欢
  • 1970-01-01
  • 2014-07-12
  • 1970-01-01
  • 1970-01-01
  • 2015-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多