【问题标题】:Android actionbar spinner selected item, subtitle and dropdown listAndroid actionbar spinner 选中项、字幕和下拉列表
【发布时间】:2012-07-31 21:59:59
【问题描述】:

如何使操作栏中的微调器选择不同的项目(显示在操作栏顶部)然后是下拉列表中的项目? 示例是操作栏中带有微调器的谷歌邮件:

  • 他们是如何实现这一功能的?
  • 我可以更改操作栏中的选定项目而不影响下拉列表中的相同项目吗?
  • 他们如何将操作栏中的选定项目更改为具有两行和不同字体但不影响下拉列表中的项目?
  • 这是否可以通过 ICS 中的操作栏微调器和操作栏 sherlock 的默认实现来实现,或者我们应该尝试使用自定义视图吗?

任何源代码、教程或文档都会很有帮助。 我已经在操作栏中有带适配器的绑定微调器,并且我在下拉菜单中有列表,但是我不能以任何方式修改项目而不影响下拉列表中的项目(因为它们是同一件事)。

【问题讨论】:

    标签: android drop-down-menu spinner android-actionbar


    【解决方案1】:

    要在操作栏微调器中获得与微调器列表中不同的视图,您可以使用 BaseAdapter 或 ArrayAdapter 并覆盖一些方法:

      @Override
      public View getView(int position, View convertView, ViewGroup parent) {
        // Return a view which appears in the action bar.
    
        return yourCustomView..;
      }
    
      @Override
      public View getDropDownView(int position, View convertView, ViewGroup parent) {
        // Return a view which appears in the spinner list.
    
        // Ignoring convertView to make things simpler, considering
        // we have different types of views. If the list is long, think twice!
        return super.getView(position, null, parent);
      }
    

    【讨论】:

    • 是的,这是正确的解决方案。
    • 是的,他们就是这样做的:source
    【解决方案2】:

    可能有点晚了,但是可以在 Android 开发者网站上找到带有注释代码的教程: http://developer.android.com/guide/topics/ui/actionbar.html#Dropdown

    基础是在 OnCreate 活动期间,您必须将其设置为列表:

          getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
    

    然后创建一个微调器适配器和几个回调,就像使用普通微调器一样。

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-29
      • 1970-01-01
      • 1970-01-01
      • 2017-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多