Articles of android actionbar

使用自定义视图复制ActionBar选项卡

我想有一个带有自定义导航的ActionBar,其中自定义视图看起来像标准操作栏选项卡。 我知道这听起来像重新发明轮子,但这意味着我们可以将菜单按钮放在与标签相同的行上,如下所示。 这是一个设计要求,实际上为这个应用程序提供了比标准的android行为更多的UI感。 我尝试过使用ActionBarSherlock的IcsLinearLayout,如下所示: 但这复制了ActionButtons,我不知道如何复制Tabs。 我想我需要: 一个特殊的选项卡容器视图组(可能来自ActionBarSherlock库) 看起来像带有来自ABS库的背景资源的选项卡的视图。 一些代码表明在单击视图后它仍保持选中状态(类似于RadioButton)。 任何指向样本或类似解决方案的指针(甚至在ActionBarSherlock库中)都将非常感激。

Android自定义溢出菜单(没有操作栏,没有menubutton)

在我的应用程序中,我已经创建了自己的Actionbar,并且它运行良好。 但是,我想使用没有菜单按钮的ICS设备上的溢出按钮的行为。 有没有办法在ICS中实现与Actionbar分开的自定义Overflow按钮? 谢谢!

Android appcompat API 10折叠操作视图

我目前正在开发和需要支持Api10 +的Android应用程序我按照许多教程设置appcompat来管理创建操作栏。 链接如: https : //stackoverflow.com/a/21291156/2789106 http://developer.android.com/guide/topics/ui/actionbar.html 我不能做的只有三件事。 搜索打开时,搜索放大镜不会更改为我设置的可绘制对象。 我无法更改“后退”图标(主页上方按钮,左侧是徽标(这是一个不同于我在创建drawerToggle传递的drawerToggle )) 单击键盘搜索时,我无法以编程方式关闭(折叠)操作视图。 (在API 14中调用了collapseActionView() ) 这是我的代码: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // ActionBarDrawerToggle ties together the the proper interactions // between the sliding drawer and the action bar app icon mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.ic_navigation_drawer, R.string.navigation_drawer_open, R.string.navigation_drawer_close) { […]

以编程方式更改操作栏homeAsUpIndicator

我使用以下hack以编程方式更改homeAsupIndicator。 int upId = Resources.getSystem().getIdentifier(“up”, “id”, “android”); if (upId > 0) { ImageView up = (ImageView) findViewById(upId); up.setImageResource(R.drawable.ic_action_bar_menu); up.setPadding(0, 0, 20, 0); } 但这并不适用于大多数新手机(HTC One,Galaxy S3等)。 有没有一种方法可以跨设备统一更改。 我需要它只在主屏幕上更改。 其他屏幕将具有默认屏幕。 所以不能使用styles.xml

操作栏的显示后退按钮不会在Android中返回

我正在开发一款Android应用。 我正在使用ActionBar和AppCompactActivity。 在我的应用程序中,我将按钮添加到操作栏。 但是当我点击它时,它不会回到之前的活动。 例如,我从活动1开始活动2.活动2包含带后退按钮的操作栏。 但是当我点击活动2的操作栏后退按钮时,它不会返回到活动1。 这就是我为活动2设置操作栏的方法: public class EditProfileActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.edit_profile); Toolbar toolbar = (Toolbar)findViewById(R.id.profile_action_toolbar); setSupportActionBar(toolbar); setTitle(“Edit Profile”); ActionBar actionBar= getSupportActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); } } 这就是我从活动1开始活动2的方式: Intent i = new Intent(MainActivity.this,SecondActivity.class); startActivity(i); 单击此按钮时,它不会返回 为什么不回去?

使用Android Espresso进行测试时如何点击Action Bar项目?

我正在使用Android Espresso来测试我的活动。 我有多个操作栏项,其中大部分都隐藏在溢出中。 我试图运行此测试但错误说层次结构中没有视图(不同于不可见): @MediumTest public void testClickInsertItem() { Espresso.onView(ViewMatchers.withId(R.id.action_insert)).perform(ViewActions.click()); } 而错误: android.support.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with id: blogr.vpm.fr.blogr:id/action_insert If the target view is not part of the view hierarchy, you may need to use Espresso.onData to load it from one of the following AdapterViews:android.widget.ListView{5283cfb0 VFED.VC. …….. 2,2-762,973 #7f07000b app:id/allitems} View Hierarchy: […]

方向更改后保持当前选项卡Actionbar Android

在我的应用程序中,当方向更改时,操作栏中的选定选项卡设置为第一个,我希望它保留在选定的选项卡上,而不是跳转到第一个选项卡…

如何在android溢出按钮上更改popup菜单的位置?

我只想在Gmail应用中实现与popup菜单相同的function,并固定在右上角的溢出按钮上。 为此,我使用与Android Androidpopup菜单的谷歌教程相同的代码,但对我来说,在行动栏的边缘上显示popup菜单不在那之下。 如果你注意到gmail溢出的pop菜单,你会看到popmenu发生在actionbar的边缘。 这是我用于popup菜单的xml: 以下是我的活动: public void showFontSetting(View view) { PopupMenu popup = new PopupMenu(this, view); MenuInflater inflater = popup.getMenuInflater(); inflater.inflate(R.menu.menu, popup.getMenu()); popup.show(); popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { // TODO Auto-generated method stub switch (item.getItemId()) { case R.id.item1: Toast.makeText(Index.this, “You Clicked : ” + item.getTitle(), Toast.LENGTH_SHORT).show(); break; case R.id.item2: break; […]

单击操作栏中的按钮popup菜单

我正在尝试实现一个操作栏,其中一个按钮上的按钮显示一个popup菜单。 这是菜单。 XML(操作栏中的菜单项) 我希望在点击ID为“@ + id / popup”的项目时显示一个popup菜单。 这是popup菜单的XML 这是按钮的onClick方法 public void showPopup(View v) { PopupMenu popup = new PopupMenu(this, v); MenuInflater inflater = popup.getMenuInflater(); inflater.inflate(R.menu.overflow, popup.getMenu()); popup.show(); } 问题是单击该按钮时不会显示popup窗口。 需要帮助的人。

ActionBar Compat在Android 2.3.3上没有显示徽标

我正在尝试使用上一个support-v7 lib中提供的新ActionBar Compat。 使用SuppportV7Demos中的示例,当我触摸“DISPLAY_USE_LOGO”时,图标不会改变。 既然我不能在我自己的应用程序中工作,有没有人实现这一点? ActionBarDisplayOptions.java package com.example.android.supportv7.app; public class ActionBarDisplayOptions extends ActionBarActivity implements View.OnClickListener, ActionBar.TabListener { private View mCustomView; private ActionBar.LayoutParams mCustomViewLayoutParams; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.action_bar_display_options); findViewById(R.id.toggle_home_as_up).setOnClickListener(this); findViewById(R.id.toggle_show_home).setOnClickListener(this); findViewById(R.id.toggle_use_logo).setOnClickListener(this); findViewById(R.id.toggle_show_title).setOnClickListener(this); findViewById(R.id.toggle_show_custom).setOnClickListener(this); findViewById(R.id.toggle_navigation).setOnClickListener(this); findViewById(R.id.cycle_custom_gravity).setOnClickListener(this); findViewById(R.id.toggle_visibility).setOnClickListener(this); // Configure several action bar elements that will be toggled by display options. mCustomView = getLayoutInflater().inflate(R.layout.action_bar_display_options_custom, […]