Tag: android actionbar

如何导航到相同的父母状态

从我从Gmail和TED应用程序观察到的向上导航的行为,它将导航到具有相同状态(滚动位置)的父母,而不像Google在他们的文档“ 实现向上导航”中所说的那样,就像创build父母意图并启动它。 我从Android示例代码实现了代码,并且所有的状态都不见了(所有额外的参数,我以前设置和滚动的位置)。 什么是正确的方法呢? 我无法find任何Android文件。 以下是代码: public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: Intent upIntent = new Intent(this, MyParentActivity.class); if (NavUtils.shouldUpRecreateTask(this, upIntent)) { // This activity is not part of the application's task, so create a new task // with a synthesized back stack. TaskStackBuilder.from(this) .addNextIntent(new Intent(this, MyGreatGrandParentActivity.class)) .addNextIntent(new Intent(this, MyGrandParentActivity.class)) .addNextIntent(upIntent) […]

为什么我们不能用一个半透明的系统吧和ActionBar

在将我的应用程序更新到Kitkat的同时,我只是希望在使用半透明属性的KitKat上给他们一个美丽的外观: 半透明的系统条 现在,您可以使用新主题Theme.Holo.NoActionBar.TranslucentDecor和Theme.Holo.Light.NoActionBar.TranslucentDecor使系统条部分半透明。 通过启用半透明的系统栏,您的布局将填充系统栏后面的区域,所以您还必须启用[fitsSystemWindows] [4]来为布局中不应该被系统栏覆盖的部分。 我唯一担心的是,我想使用一个ActionBar,这听起来与Google想要的相反(两个主题都有NoActionBar: Theme.Holo.NoActionBar.TranslucentDecor Theme.Holo.Light.NoActionBar.TranslucentDecor 由于我不打算使用一些黑客或技巧来使其工作,我只是想知道是否有一些正确的方法来实现这一点,或者如果这是违反谷歌准则。

如何更改代码中的操作栏标题颜色

我遇到麻烦更改android的行动栏标题颜色编程为V11和以上。 我可以用xml来完成,但是需要在代码中dynamic地改变它。 我应该怎么做呢? 提前致谢。

Android v7工具栏buttonalignment

我在我的应用中使用下面的代码添加了android.support.v7.widget.Toolbar ,现在我想在工具栏的右端显示一个button,但是不能这样做。 <?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/accent_color" android:minHeight="?attr/actionBarSize" android:layout_alignParentTop="true" tools:context=".MyActivity" android:theme="@style/ThemeOverlay.AppCompat.ActionBar"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/showevents" android:textSize="12sp" android:background="@null" android:layout_alignParentEnd="true" android:layout_alignParentRight="true" android:textColor="@color/white" android:text="UPCOMING \nEVENTS"/> </android.support.v7.widget.Toolbar> 我也添加了下面的图片,但是没有被移动到正确的位置。 android:layout_alignParentEnd="true" android:layout_alignParentRight="true" 附图供参考:

ActionBar“向上”button破坏父级活动,“返回”不会

我有一个相对简单的Android应用程序,一个Activity显示项目列表,另一个显示选定项目的详细信息。 我开始列表活动,这是我最重要的活动(使用FLAG_ACTIVITY_CLEAR_TOP来清除从中调用它的login活动): Intent intent = new Intent(this, ListInstancesActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); finish(); 并从该活动内我采取行动select一个项目: Intent detailIntent = new Intent(this, ShowInstanceActivity.class); detailIntent.putExtra(ShowInstanceFragment.ARG_ITEM_ID, id); startActivity(detailIntent); 所有的工作正常,如果我使用软键“返回”button,然后我回到我所期望的ListInstancesActivity 。 但是,如果我按下操作栏上的上/下button,则会销毁并重新创buildListInstancesActivity 。 这很糟糕,因为这样做在计算上相对昂贵。 如何使操作栏的行为与软键相同,只需返回到上一个活动而不是销毁它。 应该指出,我正在使用操作栏的支持库版本。 我的AndroidManifest.xml的相关部分是 <activity android:name=".agenda.ListInstancesActivity" android:label="@string/list_instances_activity_title"> </activity> <activity android:name=".agenda.ShowInstanceActivity" android:label="@string/show_instance_activity_title" android:parentActivityName=".agenda.ListInstancesActivity"> </activity>

在Android的API level11之前getActionView()的替代方法是什么?

操作栏的getActionView()在API 11中引入,如果我想向后兼容getActionView()的替代方法是什么? 例如 public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.action_bar_menu, menu); final MenuItem item = menu.findItem(R.id.menuitem); item.getActionView() //Works from API level 11 return true; }

如何获取ActionBar图标上的文本?

我想要这样的东西: 第三个图标是通知,现在只是一个PNG图像。 是否有可能做一些事情,以便我可以改变文本/数字,即..,03以编程方式显示实际的通知数量。 谢谢

什么是ActionBar菜单项中的orderInCategory以及为什么它被用于..?

我工作的行动菜单项和溢出项目这是我的main_menu.xml <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/menu_search" android:icon="@drawable/search" android:title="@string/start_new_project" app:showAsAction="always" /> <item android:id="@+id/menu_dts_overflow" android:icon="@drawable/ic_action_overflow_round" android:orderInCategory="11111" android:title="Service" app:showAsAction="always"> <menu> <item android:id="@+id/menu_newProject" android:icon="@drawable/newproject" android:title="@string/start_new_project" app:showAsAction="never" /> <item android:id="@+id/menu_help" android:icon="@drawable/help" android:title="Service Tasks" app:showAsAction="never" /> <item android:id="@+id/menu_signOut" android:icon="@drawable/signout" android:title="@string/menusignout" app:showAsAction="never" /> </menu> </item> 我试图构build一个search项目和溢出项目,你可以在上面的代码中看到。 我是新的动作酒吧菜单项,所以我试图谷歌它,并能够使其工作,因为我需要。 在这我必须知道一件事。 1.什么是orderInCategory与一些数字和它是什么使用..?

在AppCompat 21中使用Light.DarkActionBar主题更改ActionBar标题文本颜色

我正在使用v7 appcompat 21库在前棒棒糖设备上使用新的材质样式。 我的styles.xml如下所示: <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="android:textColorPrimary">#ff0000</item> <item name="android:textColorPrimaryInverse">#ff0000</item> </style> 我正在尝试更改操作栏上的文字颜色。 但不pipe我为textColorPrimary或​​textColorPrimaryInverse放置什么颜色都是白色的。 如果我从Theme.AppCompatinheritance,我可以覆盖“textColorPrimary”,如果我从Theme.AppCompat.Lightinheritance,我可以覆盖“textColorPrimaryInverse”。 但是在使用Light.DarkActionBar主题时,这两者都不起作用。 我绝对使用AppTheme,因为设置像colorPrimary属性来更改操作栏背景颜色工作正常。 我没有使用任何其他资源限定符样式文件。 我已经挖通过Android的样式文件,似乎无法弄清楚什么属性重写。 有任何想法吗? 这是一个appcompat错误?

如何在“操作栏”下拉导航中设置活动项目?

我正在尝试解决方向更改重新启动活动的问题。 我有一个带有下拉列表导航的ActionBar ,在每次旋转之后,这个列表的第一个元素被激活。 保持fragment内容并不困难,但我不知道如何设置活动列表项目。 这里是ActionBar的定义: getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); ArrayAdapter<CharSequence> list = ArrayAdapter .createFromResource(this, R.array.action_list, android.R.layout.simple_dropdown_item_1line); list.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); getActionBar().setListNavigationCallbacks(list, this); 这是我的解决方法: @Override public boolean onNavigationItemSelected(int itemPosition, long itemId) { if (!application.isRotated) { application.activePosition = itemPosition; application.activeId = itemId; getFragmentManager().beginTransaction() .replace(android.R.id.content, MyFragment.newInstance(itemPosition)) .commit(); } else { application.isRotated = false; this.onNavigationItemSelected(application.activePosition, application.activeId); } return true; } @Override protected void onStop() { […]