使用Spinner作为Action Bar中的视图切换控制器

时间:2012-07-31 15:00:01

标签: android android-actionbar android-spinner

我想在我的Android应用中使用Spinner作为Action Bar的视图切换控制器,就像本机邮件应用程序一样(参见Android Common App UI的第2部分)。

到目前为止,我已经通过查看Android开发者的示例代码,将Spinner放入操作栏并使用字符串数组填充它(请参阅屏幕截图here)。

我的问题是:

  1. 如何从操作栏中隐藏活动名称“MyAcitivity”,以便Spinner获得更多位置?
  2. 如何让Spinner显示两行,一行用于标题,另一行用于字幕?就像在本机邮件应用程序中一样。
  3. 为什么Spinner中的项目文本是黑色而不是白色,因为操作栏中的其他文本?
  4. 我正在为Android 4.0及更高版本开发。

3 个答案:

答案 0 :(得分:0)

  

1.如何从操作栏中隐藏活动名称“MyAcitivity”,以便Spinner获得更多位置?

要删除此标题,您应该将展示中的活动代码编辑为android:label=" "  在你希望的每项活动中都这样做

  

3.为什么Spinner中的项目文本是黑色而不是白色,因为操作栏中的其他文本?

您可以为theme.holo.light等文本颜色创建样式,并将此主题应用于您的活动

答案 1 :(得分:0)

  

如何隐藏活动名称" MyAcitivity"从动作栏开始,Spinner得到了更多的位置?

setDisplayShowTitleEnabled(false)上为此活动致电ActionBar

  

如何让Spinner显示两行,一行用于标题,另一行用于字幕?就像在本机邮件应用程序中一样。

创建包含多行的布局,用于SpinnerAdapter

  

为什么Spinner中的项目文本是黑色而不是白色,因为操作栏中的其他文本?

您可能需要使用getThemedContext()上的ActionBarContextSpinnerAdapter构造函数一起使用。

答案 2 :(得分:0)

  

1)如何从操作栏中隐藏活动名称“MyAcitivity”,以便Spinner获得更多位置?

如果您使用的是标准主题,则可以查找“noTitleBar”版本并添加

android:theme="@android:style/Theme.Light.NoTitleBar"

仅供参考:check this link, it contains more detailed info

  

2)如何让Spinner显示两行,一行用于标题,另一行用于字幕?就像在本机邮件应用程序中一样

我真的不知道你想做什么。如果您需要上面的文字和旋转图标下方的文字,您可以创建一个线性布局(垂直布局),在其中添加3个元素

  

3)为什么Spinner中的项目文本是黑色而不是白色,因为操作栏中的其他文本?

您可以通过编辑正在使用的样式来修改布局中的每个元素。

仅供参考:basic theme in android