【问题标题】:Customize actionbar in actionbarsherlock在 actionbarsherlock 中自定义操作栏
【发布时间】:2013-02-18 13:59:05
【问题描述】:

我想自定义我的操作栏,如如下所示的图片

我在实现中使用了 Actionbarsherlock,正如我所展示的那样,我总共有 5 个图标,其中 3 个位于中心,另外 2 个位于侧面。

还添加了分隔符,

如何添加这样的样式?

【问题讨论】:

  • 获取一个 Actionbar 类的实例并使用新的布局对其进行扩充。
  • 哦,谢谢 pKs 现在试试。感谢您的回复。

标签: android styles android-actionbar actionbarsherlock


【解决方案1】:

只需创建一个布局。作为分隔符,您可以使用宽度为 1dp 的视图,您的图标将是图像视图。然后将此布局设置为您的操作栏。

您可以像这样将布局添加到您的操作栏:

ActionBar actionBar = getSupportActionBar();

View actionBarView = getLayoutInflater().inflate(
            R.your_layout, null);

actionBar.setCustomView(actionBarView);
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);

actionBar.setDisplayUseLogoEnabled(true);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowHomeEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true);

那么如果你想在你的ImageView中添加onClickListener,你可以这样做:

ImageView imageViewOption = (ImageView) actionBarView.findViewById(R.id.image_view_option); //it's important to use your actionbar view that you inflated before

imageViewOption.setOnClickListener(...);

如果您不想在操作栏中显示应用程序图标,则可以使用 setDisplayXXX 选项。你可以在这里找到更多:http://developer.android.com/guide/topics/ui/actionbar.html

【讨论】:

  • 嗨 Michal,感谢您的回复,您的意思是说创建一个新的 linerlayout,并添加这些图像,即如上所示并将该布局设置为操作栏。是否可以将布局作为操作栏?请提供更多详细信息,我对此很陌生
  • 我更新了我的答案。您可以只创建一个布局 xml,然后使用我刚刚添加的代码将其应用到您的 ActionBar。
  • 避免立即使用actionBar.setCustomView(R.your_layout);,有时会搞砸!
  • 什么意思?有时,如果您想拥有不寻常的操作栏,就无法避免它。我并不是说不寻常的 actionbar 或任何其他 android 组件是好的,但有时这不是你的选择(我的意思是,如果你在公司工作时有一个“设计师”:p),所以有一个 API。跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-14
相关资源
最近更新 更多