我应该隐藏android操作栏还是尝试设置样式

时间:2014-11-25 21:19:46

标签: android android-actionbar android-custom-view

我正在为Android和iOS构建应用。它是有效的,但创意人想要彻底改变风格,以便屏幕的顶部(动作栏在Android上)更高,并且其徽标居中。 我应该隐藏操作栏并将徽标(和自定义导航图标)放在我的布局顶部,还是应该尝试更改操作栏的样式(使其更高并将徽标包含在中心)?这两种选择看起来都有点痛苦,但我认为我不能说出它们。

2 个答案:

答案 0 :(得分:0)

你应该创建自己的视图。您无法在ActionBar中居中任何项目(图标,徽标,标题),也无法改变身高。 Android ACtionBar的指南非常严格。您可以使用" findViewById"来更改一些参数。并传递硬编码的android ID,但它们可能会因为不同的设备制造商而改变,导致这些设备没有变化(甚至是一些崩溃)

答案 1 :(得分:0)

就个人而言,我可能会修改ActionBar并尽量保持尽可能多的功能。特别是如果这是一个长期运行的项目,它可能会在稍后返回到标准操作栏。

您可以通过向操作栏添加自己的包含居中徽标的自定义视图来执行此操作:

getActionBar().setDisplayShowCustomEnabled(true);
getActionBar().setCustomView(R.layout.action_bar_view);

然后您可以像往常一样使用操作按钮和主页/向上按钮。

根据您的需要,您可能会发现保持徽标居中是一项挑战,因为主页和操作按钮将分别添加到左侧和右侧,如果不平衡则会移动中心视图。如果是这样,您仍然可以使用上面的自定义操作栏视图,并在FrameLayout内直接向其添加按钮以保持居中。

要更改高度,您可以使用主题和样式。无论您在哪里定义样式,都要设置actionBarStyle和该样式的高度:

<style name="MainTheme" parent="android:Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/ActionBarStyle</item>
</style>

<style name="ActionBarStyle">
    <item name="android:height">70dp</item>
</style>