【问题标题】:Should I hide the android actionbar or try to style it我应该隐藏 android 操作栏还是尝试设置它的样式
【发布时间】:2023-04-06 02:06:01
【问题描述】:

我正在为 Android 和 iOS 构建一个应用程序。它正在工作,但有创意的人想要完全改变样式,以便屏幕的顶部(Android 上的操作栏)更高,并且他们的徽标居中。 我应该隐藏操作栏并将徽标(和自定义导航图标)放在布局的顶部,还是应该尝试更改操作栏的样式(使其更高并将徽标包含在中心)?这两种选择似乎都有些痛苦,但我认为我无法说服他们放弃。

【问题讨论】:

  • 隐藏它并创建自己的 xml 布局并用作活动的标题..作为操作栏...毕竟 api 21 中的工具栏是一个视图组..
  • 解雇那些真正希望他们的应用看起来像它在设备上的样子的创意人员并雇佣替代者。
  • :) 不错的建议,但 CEO 是驱动力。

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


【解决方案1】:

您应该创建自己的视图。您不能在 ActionBar 中居中任何项目(图标、徽标、标题),也不能更改高度。 Android ACtionBar 的准则非常严格。您可以通过使用“findViewById”并传递硬编码的 android id 来更改一些参数,但它们可能会因不同的设备制造商而改变,从而导致这些单元没有变化(甚至某些崩溃)

【讨论】:

    【解决方案2】:

    就个人而言,我可能会修改 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>
    

    【讨论】:

      猜你喜欢
      • 2014-03-18
      • 1970-01-01
      • 1970-01-01
      • 2011-07-27
      • 1970-01-01
      • 2012-07-16
      • 2015-04-29
      • 1970-01-01
      • 2014-04-16
      相关资源
      最近更新 更多