【问题标题】:Customize the action bar of android app with an image使用图像自定义 android 应用的操作栏
【发布时间】:2014-03-15 03:45:14
【问题描述】:

我正在创建一个 android 应用程序,我想自定义应用程序操作栏的外观。 对于我的项目,我使用的是 actionbar sherlock。目前我的应用程序看起来像这样:

我想从操作栏中删除应用程序的徽标和应用程序标题,并将其替换为下图。

有没有办法做到这一点。我读过我们必须使用样式标签来做到这一点。但是由于我是新手,所以我不知道在哪里编写样式标签以及如何实现它。请帮忙...

编辑 新图像的宽度应该是可调整的,即我的要求是它的宽度应该覆盖操作栏的一半

我想要实现的只是类似于 Play 商店中提供的这个应用程序。

【问题讨论】:

    标签: android


    【解决方案1】:

    只需在你的 onCreate 方法中使用这一行:

    Drawable d=getResources().getDrawable(R.drawable.action_bar_background);
        getActionBar().setBackgroundDrawable(d);
    

    这会将您的操作栏的背景更改为您想要的任何图像。

    当然,为不同的设备尺寸提供不同尺寸的图像总是很重要的。

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      更新您的 AndroidManifest.xml 标记以包含 :icon 属性。

      See the developer docs for more information.

      例子:

      <application
          android:logo="@drawable/my_logo"
          ....>
      
      </application>
      

      另一个很好的例子,用于主题/样式可以找到here

      要隐藏操作栏上显示的标题文本,请参阅this 帖子接受的答案。您需要将自定义样式应用于操作栏以隐藏文本。如果您还希望图标大于允许的空间,您还需要按照@Eenvincible 的说明设置操作栏的背景。

      还值得注意的是,您违反了许多 Android 设计准则。简单地设置正确的图标/标题并继续使用标准的 ActionBar 外观/感觉对您来说更容易,对您的用户来说也更好。值得一看:Android Design Patterns - ActionBar.

      【讨论】:

      • 如果我只是将 android:logo 更改为 my_logo 不会只是更改出现在操作栏中的 android 机器人。我想要的是标题和图像都被新图像替换
      • 我在我的问题中添加了一张图片。我想要实现的只是那种类型的操作栏。这是否仍然违反 Android 设计指南?
      • 没有什么可以阻止您再次使用指南,它们只是一个建议。就个人而言,我认为这与 Android 设计团队所追求的外观和感觉背道而驰,但这是由您决定的。阅读我提供的链接以及他们的设计文档中的其他资源,然后决定你想做什么。我提供的链接向您展示了如何隐藏标题,隐藏图标在您的 onCreate 中使用此 (developer.android.com/reference/android/app/…) 函数,最后指定像 @Eenvincible 之类的背景
      【解决方案3】:

      您看到的实际上是默认图标。将以下文件夹(如果存在)中的 ic_launcher.png 文件替换为您的图像。

      • /res/drawable
      • /res/drawable-ldpi
      • /res/drawable-mdpi
      • /res/drawable-hdpi
      • /res/drawable-xdpi
      • /res/drawable-xxdpi

      还将您的图像文件重命名为 ic_launcher.png

      要编辑图标右侧的文字,您可以使用:

      getSupportActionBar().setTitle("ANY TEXT HERE");
      

      【讨论】:

      • 请检查编辑部分。我想改变图像的大小,即它应该覆盖几乎一半的操作栏
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多