Articles of android actionbar

标签导航的最佳做法?

我正在寻找使用sherlock操作栏的标签导航的最佳做法。 什么是正确的方法来改变片段,并添加片段到后台堆栈和清除后台堆栈时,另一个选项卡被选中。 有没有什么好的例子或开源项目显示如何做到这一点?

Actionbar的溢出菜单打开/closures监听器

当用户打开/closuresActionBar的溢出菜单(三个点)时,我想要听,就像这样: void onOverflowMenu(boolean expanded) { } 为了处理开放的情况,我尝试了onPrepareOptionsMenu() ,但是当构造ActionBar时或当invalidateOptionsMenu()被调用时触发它。 这不是我想要的。 如果用户在onMenuItemSelected()select了一个菜单项,我能够检测到溢出菜单是closures的。 但是,如果用户通过点击外部button来closures溢出菜单,则还要检测它,方法是按返回键和其他所有情况。 有没有办法来实现呢?

标题中有两行的Android工具栏?

我想有一个双高度的操作栏(如在材料指南的例子),但(可能)标题中的两行文字。 我使用的标题是dynamic的,取决于页面中显示的项目。 如果有一行,它应该看起来像一个正常的操作栏,如果有两行,那么文本应该打破,并下降到一个新的行。 无论是否有一两行,操作button都应该保持与文本的第一行alignment。 我读到工具栏是做动作条的新dynamic方式,所以我想这可能是要走的路(我知道那里有答案,让你覆盖旧的行动栏标题文本视图,使其2行,但看起来不像我要去的)。 我正在使用Android 4.4+,所以我需要使用工具栏的appcompat v7库。 我发现在标题textview被限制为只有一行代码( https://android.googlesource.com/platform/frameworks/support/+/refs/heads/master/v7/appcompat/src/android /support/v7/widget/Toolbar.java – 包含代码mTitleTextView.setSingleLine(); )。 然后我想,因为下面有一行字幕,我们可以改变这个文本的格式,我可以把它和标题文本一样格式化,如果需要的话,把我的标题分成两部分。 我写了一些基本的代码来分割string,但它依靠能够告诉我是否需要拆分它 – 实际上,我发现toolbar.isTitleTruncated()总是返回false(从我的工具栏对象直接访问和从getSupportActionBar().isTitleTruncated() )。 我在这里尝试了在Toolbar包装TextView的答案,但是当我这样做时,我无法使TextView与工具栏动作buttonalignment。 如果我正确地alignment一行(使用顶部填充),那么对于双行是错误的,反之亦然。 这是我的代码: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/view_content" android:layout_width="match_parent" android:layout_height="match_parent"> <fragment android:id="@+id/fragment_pager" android:name="com.example.ProductPagerFragment" android:layout_width="match_parent" android:layout_height="match_parent" /> <android.support.v7.widget.Toolbar android:id="@+id/product_details_toolbar" style="@style/style.toolbar" android:layout_width="match_parent" android:layout_height="@dimen/double_height_toolbar" android:minHeight="?attr/actionBarSize" android:gravity="top" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" > <TextView android:id="@+id/product_details_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="top" android:paddingTop="@dimen/padding_normal" style="@android:style/TextAppearance.Holo.Widget.ActionBar.Title.Inverse" android:maxLines="2" /> </android.support.v7.widget.Toolbar> 有没有人有任何想法? […]

你如何改变CAB中的“完成”文本?

Android的文档中有很多关于CAB的文档,但没有提到如何更改“完成”文本。 有谁知道如何? 其他链接: http://developer.android.com/design/patterns/selection.html http://developer.android.com/guide/topics/ui/menus.html#CAB

ActionBar选项卡的高度

我想更改默认的ActionBar选项卡的高度,但无法find任何有关的信息。 有一些样式属性或方法来设置标签的高度? 谢谢。

按下活动操作栏后退button时如何转到上一个选定的选项卡

我在MainActivity中有六个选项卡,第二个选项卡有一个列表视图,当用户按下列表视图项目时,它打开一个新的活动与操作栏,所以,当用户按下第二个活动的后退button,我想去主活动的前一个选项卡(第二个选项卡),但加载第一个选项卡(主页选项卡)。 我如何解决这个问题?

Android状态栏在使用AppTheme.NoActionBar时是透明的

当我通过android:theme将自动生成的AppTheme.NoActionBar应用于我的活动时,如下所示: AndroidManifest.xml中: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="mypackage"> <application … android:theme="@style/AppTheme"> <activity android:name=".MainActivity" android:theme="@style/AppTheme.NoActionBar" /> </application> </manifest> 我的MainActivity在顶部显示一个透明的状态栏,最终有一个白色的背景,白色的文字。 如果设备正在充电,那是唯一可以看到的符号。 从AppTheme.NoActionBar透明的ActionBar 这是我的值/ styles.xml: <resources> <!– Base application theme. –> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!– Customize your theme here. –> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> <style name="AppTheme.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> </style> <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/> <style […]

Honeycomb ActionBar中的SearchView上的KeyListener不起作用

这是我的代码。 在search框中input时,从不会调用onKey()方法。 我在设置听众方面做错了什么? 我在onKey()方法中有一个断点,这是我知道它不会触发。 @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.locations_map_menu, menu); ActionBar ab = getActionBar(); ab.setBackgroundDrawable(getResources().getDrawable(R.drawable.actionbar)); ab.setDisplayShowTitleEnabled(false); SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView(); searchView.setOnKeyListener(new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { return true; // This code never fires } }); return true; }

分离的ActionBar显示两倍的图标

我想要有一个他们用于Gmail的应用程序布局。 他们有图标的操作栏(在我的设备上,它具有用于向上导航的应用程序标志,以及用于select优先收件箱/收件箱等的自定义视图),但也有一些分离的ActionBar因为在底部我有几个图标(撰写,search,标签等)。 我怎么能这样做? 我已经通过这个XML实现了以下的ActionBar : <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/menu_gps" android:icon="@drawable/icone_gps_continu" android:showAsAction="always" android:title="@string/menu_gps"/> <item android:id="@+id/menu_sort" android:icon="@drawable/icone_liste_chron" android:showAsAction="always" android:title="@string/menu_liste"/> <item android:id="@+id/menu_stats" android:icon="@drawable/icone_statistiques" android:showAsAction="always" android:title="@string/menu_stats"/> <item android:id="@+id/menu_save" android:icon="@drawable/icone_terminersortie" android:showAsAction="always" android:title="@string/menu_save"/> <item android:id="@+id/menu_search" android:icon="@drawable/ic_launcher" android:showAsAction="always" android:title="@string/menu_search"/> <item android:id="@+id/menu_photo" android:icon="@drawable/icone_enregistrerphoto" android:showAsAction="always" android:title="@string/menu_photo"> </item> <item android:id="@+id/menu_sound" android:icon="@drawable/icone_enregistrerson" android:showAsAction="always" android:title="@string/menu_sound"> </item> <item android:id="@+id/menu_settings" android:icon="@drawable/icone_parametres" android:showAsAction="always" android:title="@string/menu_settings"> </item> </menu> […]

AppCompat v7工具栏上/下箭头不起作用

我在活动中有两个片段。 当片段A显示时,我希望显示导航抽屉汉堡图标并使抽屉导航工作。 当片段B显示时,我想要后退箭头显示,当它被点击做一个向上的导航。 然而,我似乎无法得到新的AppCompat v7工具栏显示在我的ActionBarActivity里面的向上箭头,除非导航抽屉打开。 在我的活动中,我的onCreate()方法… toolbar = (Toolbar) findViewById(R.id.toolbar); if (toolbar != null) { setSupportActionBar(toolbar); } mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, toolbar, R.string.drawer_open, R.string.drawer_close); mDrawerLayout.setDrawerListener(mDrawerToggle); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setHomeButtonEnabled(true); 然后我调用mDrawerToggle.syncState(); 在我的onPostCreate() 我试着search如何以编程方式触发工具栏图标到后退箭头,但没有任何工作。 从我所收集到的,呼唤 getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowHomeEnabled(true); getSupportActionBar().setHomeButtonEnabled(true); 从我的片段应该改变图标,但事实并非如此。 这可能是一个愚蠢的问题,但我做错了什么?