Articles of android actionbar

如何获得当前主题的操作栏背景颜色?

我试图让我的导航抽屉的背景总是与操作栏的背景颜色相匹配。 所以,每一次,如果主题变化,两个背景都会自动改变。 我看着R.attr ,但没有find任何东西。

MultiChoiceModeListener导致SherlockListFragment的问题

所以,我正在阅读这个早期的问题 ,关于如何让我点击一个列表中的项目做一个动作或长按该项目切换到一个ActionMode,我可以select多个项目,并使用ActionBar做一些事情到那些项目。 但是,我有这个答案的问题 。 具体来说,我正在实现这个到一个SherlockListFragment(使用ActionBarSherlock)。 然而,当我声明一个新的MultiChoiceModeListener的时候,Eclipse引发了一些编译错误。 Description Resource Path Location Type Cannot override the final method from SherlockListFragment DateTimeListFragment.java /path/to/my/project line 127 Java Problem The method inflate(int, Menu) in the type MenuInflater is not applicable for the arguments (int, Menu) DateTimeListFragment.java /path/to/my/project line 125 Java Problem 当我删除MultiChoiceModeListener时,这些消失。 我不知道可能是什么原因造成的,因为我没有意识到什么奇怪的事情发生。 public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { […]

如何用我的主题指定黑暗的行动模式

我知道有两个关于样式的动作栏的上下文动作栏(ActionMode)的一些问题,但他们似乎并没有解决我之后的东西。 我正在使用带有浅色主题和黑暗操作栏的工具栏。 工具栏看起来像我想要的,但行动模式看起来像普通的黑暗主题。 我需要改变我的风格,以获得黑暗的主题行动模式(不只是行动栏)? 看来我应该能够通过点击进入Theme.AppCompat快速地做到这Theme.AppCompat因为这显示了CAB我想要的,但我不希望其他应用程序变黑。 我只关心API 14+,并使用支持工具栏代替操作栏。 这是我的基本风格 <style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="android:actionModeBackground">@color/colorActionMode</item> <item name="android:windowActionModeOverlay">true</item> </style> 工具栏样式 <style name="AppTheme.Toolbar" parent="ThemeOverlay.AppCompat.Dark.ActionBar"> <item name="android:textColorPrimary">@color/abc_primary_text_material_dark</item> <item name="actionMenuTextColor">@color/abc_primary_text_material_dark</item> <item name="android:textColorSecondary">@color/abc_primary_text_material_dark</item> <item name="android:background">@color/colorPrimaryDark</item> </style> 工具栏布局文件(在这里设置popupTheme似乎没有任何影响)。 <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?android:attr/actionBarSize" app:theme="@style/AppTheme.Toolbar" app:popupTheme="@style/ThemeOverlay.AppCompat.Dark" android:popupTheme="@style/ThemeOverlay.AppCompat.Dark" android:elevation="2dp" android:focusable="false"/> 这是我的工具栏(这是我想要的) 这是我的ActionMode(我需要反转) 这是我想要的动作模式看起来像(我通过改变我的风格从Theme.AppCompat而不是Theme.AppCompat.Light.DarkActionBarinheritance而来的。问题是,其余的应用程序变暗,我不想。

ActionBar容量/溢出没有改变方向的变化

我有一个应用程序使用ActionBar,我自己处理方向的变化: android:configChanges="keyboard|keyboardHidden|orientation|screenSize" …和菜单应适合在ActionBar没有横向溢出,但不是肖像: <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:title="@string/Game" android:id="@+id/game" android:icon="@android:drawable/ic_menu_manage" android:showAsAction="ifRoom|withText"/> <item android:title="@string/Type" android:id="@+id/type" android:icon="@android:drawable/ic_menu_edit" android:showAsAction="ifRoom|withText"/> <item android:title="@string/Other" android:id="@+id/other" android:icon="@android:drawable/ic_menu_gallery" android:showAsAction="ifRoom|withText"/> <item android:title="@string/Solve" android:id="@+id/solve" android:icon="@android:drawable/ic_menu_directions" android:showAsAction="ifRoom|withText"/> <item android:title="@string/Help" android:id="@+id/help" android:icon="@android:drawable/ic_menu_help" android:showAsAction="ifRoom"/> </menu> 在启动时,这可以正常工作: 景观: 肖像: (是的,我可以强制所有项目始终显示,他们将适合,如下所示,但可能会在一个较小的平板电脑上打破) 当模拟器改变方向时,ActionBar的容量似乎没有改变: 肖像,当我开始在风景: (这是好的,但不一致) 风景,当我开始肖像: 这看起来非常愚蠢,是我想解决这个问题的原因。 我把这个调用添加到invalidateOptionsMenu() ,但是没有帮助: @Override public void onConfigurationChanged(Configuration newConfig) { maybeMoveSomeViewsAround(newConfig); super.onConfigurationChanged(newConfig); invalidateOptionsMenu(); } […]

自定义样式的堆叠动作栏?

我想有堆叠和非堆叠标签栏单独的背景。 这应该解释一下: 所以我拥有的方式是: 对于平板电脑,使用深色背景选项卡 对于其他一切,使用浅色背景。 这涵盖了大多数的使用案例,但是我想让它在电话环境中看起来不坏。 任何方式,我可以做到这一点? 也许我错过了一个风格修饰符?

如何保持在ActionBar的右侧扩展SearchView(使用自定义图标时)?

我的问题是密切相关的SearchView错误的alignment和在ActionBar中展开时的SearchView位置,但在那里发布的答案不起作用。 所以,我在Action Bar中使用了一个SearchView : <item android:id="@+id/action_search" android:icon="@drawable/navi_search" android:title="@string/action_search" android:showAsAction="ifRoom|collapseActionView" android:actionViewClass="android.widget.SearchView" /> 它默认看起来像这样(右上angular,溢出菜单旁边): 问题是,当展开时, 我希望SearchView保持在右侧 ,而是移动到主页button(应用程序图标)旁边的左侧边缘。 我试着改变showAsAction这两个( 这里build议 ): android:showAsAction="ifRoom" android:showAsAction="always" …这样做可以在展开时修复alignment方式,但是在折叠状态下自定义图标会丢失 : 此外,菜单<item>上的诸如android:layout_alignParentRight="true"和android:layout_centerInParent="true"之类的<item>没有任何效果。 有任何想法吗? 我的目标是Android 4.0及以上版本: <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="19" />

我如何在Android支持库中使用上下文操作栏?

我有一个ListView在我的ActionBarActivity有项目,可以长按其他操作。 我目前正在使用registerForContextMenu并显示一个难看的popup对话框,所以我想将其更改为使用一个属性操作栏。 我怎样才能做到这一点? CHOICE_MODE_MULTIPLE_MODAL以及其他一些东西似乎是API 11+。

ActionBar和ActionBar.Tab和导航抽屉安卓

我在android-support-v7-appcompat的帮助下使用了操作栏,并在其上使用了Navigation drawer。 在我的片段之一,如果我使用ActionBar.Tabs然后选项卡重叠导航抽屉和抽屉获取下面的ActionBar选项卡。 如何在Google Play应用程序或Google电影应用程序中制作操作栏 标签也应该像片段一样落后。 我怎么能做到这一点与android-support-v7-appcompat库

当活动在android中启动时,在标题栏中隐藏应用程序启动器图标

我search了,但没有发现类似的问题,因为我不知道如何在句子中分阶段。 我正在使用ActionBarSherlock,它带有一个标志,而不是启动器图标(即72×72图标),文本位于活动的顶部。 当活动首次加载时,几分之一秒。 我看到在清单中定义的启动器图标和标签(如下所示),在带有徽标的操作栏出现之前。 这个家庭活动非常简单,所以它不会做任何额外的负载,这可能会导致延迟。 <application android:hardwareAccelerated="true" android:icon="@drawable/launcher_icon" android:label="@string/app_name" android:screenOrientation="portrait" > <activity android:name=".SplashScreenActivity" android:label="@string/app_name" android:logo="@drawable/ab_logo" android:theme="@android:style/Theme.Light.NoTitleBar" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".HomeActivity" android:label="@string/homeitle" android:logo="@drawable/ab_logo" android:theme="@style/MyTheme" > </activity> </application> 我可以通过将文本样式设置为与背景相同的颜色来使文本“消失”,但是我无法find从活动中删除/隐藏启动器图标的方法。 我已经设置了一个启animation面活动(如上面的清单),它只是加载我的家庭活动发生问题。 这确实有帮助,但有时在加载活动时仍然会出现问题。 public class SplashScreenActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public void onResume() […]

如果没有空间,操作栏将制表符转换为列表导航

我有一个标志,标题,2个选项卡和searchfunction的操作栏。 在手机(3.5英寸)上一切正常,操作栏有两行,标题标题和searchfunction出现在第一行,标签apear在第二行。 在我的平板电脑上(7“),每一行都显示在一行上,但是当我点击search图标时,这些标签将被转换成列表。 我怎样才能拆分(sherlock)在我的7“tabblet两行中的行动?还是有其他方法来解决这个问题?