Android 在actionbarsherlock中自定义actionbar

Android 在actionbarsherlock中自定义actionbar,android,styles,android-actionbar,actionbarsherlock,Android,Styles,Android Actionbar,Actionbarsherlock,我想自定义我的操作栏,如下图所示 我在实现中使用Actionbarsherlock,如我所示,我总共有5个图标,其中3个居中,另外2个在侧面 还添加了分隔符 如何添加这样的样式?只需创建一个布局。作为分隔符,您可以使用宽度为1dp的视图,您的图标将是ImageView。然后将此布局设置为操作栏 您可以向actionbar添加布局,如下所示: ActionBar actionBar = getSupportActionBar(); View actionBarView = getLayoutI

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

我在实现中使用Actionbarsherlock,如我所示,我总共有5个图标,其中3个居中,另外2个在侧面

还添加了分隔符


如何添加这样的样式?

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

您可以向actionbar添加布局,如下所示:

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);
然后,如果您想将onClickListener添加到ImageView中,可以这样做:

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

imageViewOption.setOnClickListener(...);

如果您不想让应用程序图标出现在actionbar中,那么您可以使用setDisplayXXX选项。您可以在此处找到更多信息:

嗨,Michal,谢谢您的回复,您的意思是说创建一个新的linerlayout,并添加这些图像,如上图所示,并将该布局设置为actionbar。是否可以将布局设置为actionbar??。请给我提供更多的细节,我是新的我更新了我的答案。您只需创建一个布局xml,然后使用我刚才添加的代码将其应用于ActionBar有时会立即把事情搞砸!什么意思?有时候,如果你想拥有外观不同寻常的actionbar,就不可能避免它。我并不是说外观不寻常的actionbar或任何其他android组件都是好的,但有时这不是你的选择(我的意思是如果你在一家名为“designer”:p的公司工作),所以有一个API。获取actionbar类的实例,并用新的布局将其放大。哦,谢谢pKs,我现在就试试。谢谢你的回复。