将ActionBar中的View放在与所有屏幕宽度相关的中心

时间:2013-08-02 13:13:43

标签: android android-actionbar

我想在ActionBar中放置一个徽标,而不是放在它左侧但是居中。我尝试使用setCustomView()功能并且它有效,但徽标(通常是我使用的任何View)都位于左侧“主页”按钮和右侧潜在ActionItems之间的可用空间内。这意味着我的徽标位置会随ActionItems的数量而变化。这里描述了:ActionBar - custom view with centered ImageView, Action Items on sides

有谁知道如何将徽标始终放在屏幕中央?我想这需要一些肮脏的技巧,因为它似乎是一个愚蠢的想法,原因有很多,但我需要这样做。

2 个答案:

答案 0 :(得分:0)

根据我所读到的ActionBar,我的理解是你无法使用原生的ActionBar对象真正控制它。似乎有很多你无法用它来定制。这是为了在所有应用程序中提供相同的外观和感觉。如果我错的话,我相信有人会好意地纠正我。

我的修复,需要一个非常可定制的栏,只是创建我自己的。然后我将此添加到我的所有Activities。为方便起见,我创建了BaseActivityBaseListActivity,分别为我的所有其他ActivitiesListActivities进行了扩展。

这允许我将所有功能放入这些BaseActivities我的自定义操作栏。然后,我必须<include> layout我的自定义Activity作为每个{{1}}中的操作栏。我希望这是有道理的,可以提供帮助。

答案 1 :(得分:0)

你已经看过我的ans:https://stackoverflow.com/a/16029214/1168654

如果您希望Logo位于具有多个ActionItems的中心,则无法实现。 read this

但您可以使用自定义操作栏布局文件中的自定义项目来执行此操作(但操作项目将使用Actionbar Provider或使用DropDown Navigation或任何其他操作修复或将所有操作合并为一个方式)。