【问题标题】:How to set drawables on actionbar of my android application如何在我的 android 应用程序的操作栏上设置可绘制对象
【发布时间】:2013-03-14 09:44:20
【问题描述】:

我正在开发一个应用程序,其中我必须将可绘制对象放在操作栏的顶部,并且必须不时更新。这是我想要的布局。

我想放一个如图所示的drawable(绿色drawable不是通知的东西)。有可能在android中实现这种屏幕吗?如果,那么请指导我如何实现这一目标。

我们将不胜感激。

【问题讨论】:

  • 你能解释一下吗?你想达到哪一个?
  • 大的可绘制“50”之一。如果实现了这一点,任何事情都可以做到。对!
  • 您可以为您的文本应用内阴影,这会有所帮助。
  • 请阅读我提出的问题。我必须在操作栏顶部放置一个可绘制对象。我不必使用阴影等等。
  • 为您的操作栏使用自定义视图,如下所述:stackoverflow.com/questions/5745447/action-bar-custom-view

标签: android android-layout android-actionbar android-drawable


【解决方案1】:

使用自定义视图很容易。让我简单解释一下步骤:

  1. 在布局文件夹中创建您的自定义视图。例如,ImageButton

  2. 将此视图设置为活动中操作栏的自定义视图。你可以通过调用来做到这一点

    getSupportActionBar().setCustomView(R.layout.your_custom_view);
    

    (或getActionBar() 而不是getSupportActionBar()

  3. 使用ActionBar.DISPLAY_SHOW_HOMEActionBar.DISPLAY_SHOW_CUSTOM 选项调用setDisplayOptions()

  4. 如果操作栏中有其他标准按钮,请扩展菜单。

  5. 您终于可以为您的自定义视图设置OnClickListener

这对我有用,希望对你有帮助!

【讨论】:

  • 感谢您的回答。您能否解释第 3 点。如何实现?你有一些工作代码吗?
  • 很简单:getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_SHOW_CUSTOM);
  • 嘿,谢谢您的回答,您能告诉我如何在自定义视图上获取 onClickListener() 吗?我无法得到那个。
  • customview.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // 在这里做事 }});
【解决方案2】:
  1. 创建自定义视图
  2. 作为ActionBar中的ActionView使用
  3. 在 onCreateOptionsMenu 中获取对您的视图的引用并在需要时更新它

【讨论】:

  • @Anupam 我有一个官方文档的链接,你可能没看过 :) developer.android.com/guide/topics/ui/actionbar.html#ActionView
  • 我阅读了这份文档。但这有问题。我只能将项目添加到具有特定大小的操作栏。但是我的要求不一样。我想放置一个比任何动作项目图像都大的可绘制对象。
  • schemas.android.com/apk/res/android"> 在 onCreateOptionMenu() 中膨胀这个 xml,但首先把这个 xml 放到 res 文件夹中的你的菜单文件夹中。
  • @Anupam 你应该使用 Action View 而不仅仅是 drawable。它可以是任何大小。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多