Articles of android actionbar

LeftNavBar在活动顶部创建黑条

我正在尝试将Google的LeftNavBarLibrary合并到我的应用程序中。 当我加载导航栏时,我最终在活动顶部有一个黑条。 酒吧似乎占据了传统的动作栏所占据的空间。 有谁知道酒吧的来源或如何删除它。 谢谢。 我的应用主题是略微定制的。 由于MediaRouteActionProvider的要求,基于AppCompat主题 styles.xml @style/MyActionBar @drawable/ab_gradient 上图所示的活动在清单中定义了自定义主题。 AndroidManifest.xml中 应用程序最低sdk版本为14.因此它不仅仅是Google TV应用程序。 我只能在我的Android 4.1和4.4设备上测试这个bug。

AppCompat v7:21拆分操作栏坏了吗?

我目前正在开发一个应用程序,其中我使用了一个经过大量修改的Split Action Bar。 这是应用程序当前状态的链接: 您会注意到顶部有一个透明的操作栏,其中有一个自定义视图,底部有一个被黑客攻击的分割操作栏。 底部视图实际上是一个单独的操作项,其中自定义视图已膨胀,showAlways = true。 目前我只支持SDK v15 +,我并不打算改变它,但是刚刚发布的Lollipop AppCompat库,我决定实现它,所以我可以在我的应用程序中获得一些非常棒的function。 我已将主题更改为Theme.AppCompat.Light,而我的MainActivity现在扩展了ActionBarActivity而非Activity。 所有对getActionBar的引用现在都已切换到getSupportActionBar,只有这些更改,这就是我的活动现在的样子: 您会注意到我从设备监视器获得了一个UI转储,它将底部操作栏推入一个奇怪的空间并调用操作栏,并摆脱我的顶级自定义视图。 这是我设置操作栏的代码: public void initializeActionBar(){ View customNav = LayoutInflater.from(this).inflate(R.layout.action_bar_top, null); actionBar = getSupportActionBar(); actionBar.setBackgroundDrawable(getResources().getDrawable(R.drawable.transparent_fifty_percent)); final PopupWindow window = addPopupWindow(); actionBarOptions = (ImageView)customNav.findViewById(R.id.options); actionBarOptions.setVisibility(View.GONE); actionBarOptions.setImageDrawable(app.svgToBitmapDrawable(getResources(), R.raw.vertical_ellipsis, app.scaleByDensity(48))); actionBarOptions.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { window.showAsDropDown(actionBarOptions, 0, 0); } }); TextView […]

ActionBar / ActionBarSherlock中的自定义图像而不是徽标

如何将ActionBar的默认徽标图标更改为自定义图像? 类似于它在Whatsapp上的工作方式?

溢出按钮强制操作模式完成

我有一个EditText,我希望用户能够选择一些文本并对所选文本应用一些基本格式(粗体,斜体等)。 不过,我仍然希望显示标准的复制,剪切,粘贴选项。 我在Android文档中的某处读到要执行此操作,您应该在EditText上调用setCustomSelectionActionModeCallback()并将其传递给ActionModeCallback(),这就是我所做的。 这是我的代码: 在我的活动的onCreate()方法中: myEditText.setCustomSelectionActionModeCallback(new TextSelectionActionMode()); 回调声明: private class TextSelectionActionMode implements ActionMode.Callback { @Override public boolean onActionItemClicked(ActionMode mode, MenuItem item) { return false; } @Override public boolean onCreateActionMode(ActionMode mode, Menu menu) { menu.add(“Bold”); return true; } @Override public void onDestroyActionMode(ActionMode mode) { } @Override public boolean onPrepareActionMode(ActionMode mode, Menu menu) { return false; } […]

如何删除应用程序图标和ActionBar屏幕边缘之间的边距?

我的应用程序有一个自定义主页图标,我希望它一直对齐到操作栏的左侧,这样它就会触及屏幕的边缘。 这是可能的,如果是这样,怎么办? 我没有看到任何设置填充或边距使其一直向左对齐的东西。

getSupportActionBar()使用Robolectric返回null

当我通过Roboelectric和JUnit中的测试用例调用它时,方法getSupportActionBar()返回null。 这是我的简单测试用例: package com.mobile.test; import static org.hamcrest.CoreMatchers.equalTo; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertThat; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.Robolectric; import org.robolectric.RobolectricTestRunner; import android.app.Activity; import android.content.Intent; import com.mobile.android.core.R; import com.mobile.android.core.activity.MainActivity; import com.mobile.android.core.activity.TestActivity; @RunWith(RobolectricTestRunner.class) public class NavigationDrawerTest { private Activity activity; @Test public void testNavigationDrawer() { activity = Robolectric.buildActivity(MainActivity.class).create().get(); String hello = activity.getResources().getString(R.string.drawer_open); System.out.println(hello); assertEquals(hello, “Menu”); } […]

片段之间的事务仅在一个ActionBar选项卡内

我有一个带有三个选项卡(ActionBar选项卡)的应用程序,每个选项卡一次只有一个片段。 TabListener TabsActivity Tab1 – > ListFragment1 – > ListFragment2 – > Fragment3 Tab2 – > Tab2Fragment Tab3 – > Tab3Fragment 问题是当我从ListFragment1到ListFragment2创建FragmentTransaction(在OnListItemClicked内)时,其他选项卡中的片段也会更改为ListFragment2。 最后,我想仅在选项卡内更改片段并保留其他选项卡的状态。 我已经保存了状态(OnSavedInstance())。 你知道我在这里缺少什么吗? 一些代码: public class TabsActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.tabs); // setup Action Bar for tabs ActionBar actionBar = getActionBar(); actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); // instantiate fragment for […]

活动扩展了ActionBarActivity和YouTubeBaseActivity

在我的应用程序中,我需要getSupportActionBar()以更改其标题并启用home作为后退按钮。 我还需要一个YouTubePlayerView才能显示video。 我无法在同一时间扩展ActionBarActivity和YouTubeBaseActivity 。 解决此类问题的正确方法是什么?

操作栏菜单显示屏幕

我有旧式菜单的应用程序。 将主题更改为Holo并将目标SDK版本切换为14后,软菜单按钮消失(没关系)但使用操作栏上的菜单按钮显示大部分屏幕外的文本菜单,如附图所示。 你有任何想法如何解决这个问题? 我解决了这个问题。 问题在于清单参数: 将anyDenisity更改为true后,此问题已经消失。

Actionbar顶部的DrawerLayout

使用抽屉布局时,有没有办法将抽屉视图覆盖在操作栏上? 我不想在显示抽屉时隐藏操作栏。 我希望操作栏只是保持放置,但是要发送到后台。 一个例子是iOS Play音乐应用程序…… 我当前的实现隐藏并显示抽屉状态更改时的操作栏,但我不喜欢此用户体验。 public void onDrawerClosed(View view) { getActionBar().show(); invalidateOptionsMenu(); } public void onDrawerOpened(View drawerView) { getActionBar().hide(); invalidateOptionsMenu(); }