Articles of android actionbar

损坏的ActionBar看起来

很久以前我已经注意到了这个问题,但直到现在我才能准备好演示,它可以清楚地再现它。 问题是2.1模拟器和我的ICS 4.0.3设备上的预先发布。 在应用程序中,我有AsyncTask,它可以通过调用invalidateOptionsMenu调整操作栏不确定进度的可见性并重新启动菜单。 这应隐藏刷新图标。 这工作正常,直到我修改listView数据模型并在适配器上调用notifyDataSetChanged。 在这样的行动之后,Actionbar可能已经打破了视野 预期观点: 断开的视图(最后一项永远消失或在某些情况下添加了空白区域): 导致代码在onPostExecute中 @Override protected void onPostExecute(Void result) { super.onPostExecute(result); for (int i = 0; i < 10; i++) { adapter.items.add(i); } adapter.notifyDataSetChanged(); activity.stopLoading(); } … void stopLoading() { if (loaders.decrementAndGet() == 0) { setSupportProgressBarIndeterminateVisibility(false); invalidateOptionsMenu(); } } 知道为什么会发生这种情况,并且在大多数情况下是因为更新listview适配器(或者可能是某些视图更新)? 如果我删除行adapter.notifyDataSetChanged(); 动作栏不会在演示中被破坏。 但在实际应用中它也可能因为另一个原因而被打破(无法准确确定所有问题原因) 项目展示了一个问题: http : //goo.gl/ZbMTU 打开ActionBarSherlock问题: https […]

有没有办法专门为堆叠操作栏设置actionBarTabTextStyle?

我无法find一种方法来根据ActionBar是否堆叠来更改选项卡文本的文本样式。 只有背景似乎是可调整的。 我正在使用ActionBarSherlock 。 我的ActionBar背景为蓝色,带有白色文字。 我正在使用选项卡式导航,因此当标签部分堆叠在主ActionBar下方时,我希望背景为白色(我使用abBackgroundStacked完成)。 这使文本不可见(文本与背景颜色相同)。 我希望在操作栏堆叠时文本为黑色。 有任何想法吗?

ActionBar图标有不同的大小

在我的Android应用程序中,一些操作栏图标处于正常大小(如屏幕截图中的星号),有些太小(如屏幕截图中的浏览器和共享图标)。 所有图标都以完全相同的方式添加: menu.add(getString(R.string.sync)).setIcon(R.drawable.ic_action_sync) 这发生在我的三个具有不同图标的活动中。 图像文件的密度位于正确的目录中,它们都来自ActionBar Icon Pack,并且在计算机上的目录中看起来都相同。 我使用ActionBarSherlock在Gingerbread上显示Actionbar,但它在ICS / JB上看起来完全相同,其中ActionBarSherlock应该使用本机ActionBar(所以我猜它不是ABSherlock的错)。 我不知道,这可能是什么原因。

选项卡切换时平滑animation

我在ViewPager中使用ActionBar.Tabs,它看起来像 我实现了ActionBar.TabListener和ViewPager.OnPageChangeListener以支持当用户在ViewPager中滑动页面时,选项卡指示器将相应地更改(蓝色指示器将移动到相应的选项卡)。 现在我意识到蓝色指示器在没有任何animation的情况下发生变化,并且看起来不太好。 (当我从tab1滑动到tab2时,蓝色指示符在tab1下消失并出现在tab2下面)。 有没有办法改变它,以便当我切换标签时,蓝色标签指示器在标签之间平滑移动?

无法锁定表面

我在我的应用程序中添加了一个ActionBar ,现在我一直遇到这个问题。 我正在测试Galaxy S4 。 此问题导致应用程序变慢并变得无法响应。 这是我的代码: //Get action bar actionBar = getActionBar(); //hide title to make room for spinner dropdown actionBar.setDisplayShowTitleEnabled(false); //set the mode actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); //spinner = (Spinner)findViewById(R.id.spinner); quotetext = (TextView)findViewById(R.id.quote); ArrayList values = SpinnerProducer.create(); //Set spinner adapter spinnerAdapter = new QuoteSpinnerAdapter(thisActivity,R.layout.spinner_row_layout,values); actionBar.setListNavigationCallbacks(spinnerAdapter, new CustomOnItemSelectedListener()); actionBar.setSelectedNavigationItem(1); 堆栈跟踪: 08-11 18:59:51.776: E/Surface(17050): dequeueBuffer: IGraphicBufferProducer::requestBuffer failed: -2147483646 […]

是否可以为ActionBar SubMenu创建自定义视图?

我想用自定义布局或视图创建ActionBar子菜单项。 像: ImageView – TextView – ImageView 可以使用自定义布局或视图创建MenuItem,但我无法通过子菜单实现 – 带有actionLayout的Android子菜单不可见

在片段或活动中使用工具栏

我正在使用Android-ObservableScrollView库。 一切都很好,但我有保存片段的活动,所以所有视图都封装在片段中。 在活动中,只有FrameLayout用于保存片段。 所以我需要在我的应用程序中使用Toolbar ,我有几个想法如何实现它。 在活动中使用工具栏,在这种情况下,我的布局将具有FrameLayout和工具栏。 通过这种方式,每当我需要对工具栏执行某些操作时,我都会与活动进行通信,我也可以通过使用片段中的getSupportedActionBar()来获取它。 在每个片段视图创建中使用工具栏内部片段(在其布局中)设置。 每次我更改片段时,我都必须在活动中添加新的工具栏。 在某些片段中,我将使用不同的工具栏,但不是全部。 是否在片段中存储工具栏是一种很好的方法。 我在使用第二种方法时可以看到的问题,如果屏幕上会有多个片段,那么还会有几个工具栏。 请在这种情况下建议正确的方法。 谢谢。

Android – 翻译视图后仍留有空白区域

我试图animation我的工具栏(用作ActionBar)在滚动后隐藏自己。 我使用以下代码翻译工具栏 – toolbar.animate().translationYBy(toolbar.getBottom()*(-1)); 但是,在animation之后,之前工具栏占用的空间变为白色并保留在那里。 我希望工具栏下方的内容向上移动并占据工具栏留下的空间。

自定义主题ActionBar android(菜单不起作用)

我想自定义我的应用程序,我已经应用了一个主题,但选项菜单似乎不适用我的主题。 我希望我的文字颜色为白色,背景为黑色,突出显示/选中的菜单项为黄色。 这是我的theme.xml: @style/MyActionBar @style/MyActionBarTabText @color/application_color5 @style/MyActionBarTabs @drawable/icone_barratopo_selector @drawable/icone_barratopo_selector @drawable/icone_barratopo_selector <!– @drawable/selectable_background — @style/MyActionBar @style/MyActionBarTabText @color/application_color5 @style/MyActionBarTabs @drawable/icone_barratopo_selector @drawable/icone_barratopo_selector @drawable/icone_barratopo_selector @drawable/background_barratopo_superior @style/MyActionBarTitleText @drawable/background_barratopo_superior @style/MyActionBarTitleText @color/application_color2 @drawable/tab_text_selector @drawable/actionbar_tab_indicator @drawable/actionbar_tab_indicator 我的menu.xml: <!– –> 和我的selector.xml:

仅显示操作栏的下半部分(并且它位于状态栏后面)

出于某种原因,仅显示ActionBar的下半部分,显示的一半在状态栏后面。 为什么会这样? 这只发生在DrawerActivity 。 它必须是新版Android的东西,因为我注意到了Android 5.0.2和6.0中的错误。 在Android 4.4.4中没有问题。 我从android.support.v7.app.AppCompatActivity扩展我的Activity并在其中实现一些片段。 这是我的应用配置: android { compileSdkVersion 22 buildToolsVersion “21.1.2” defaultConfig { applicationId “com.mypackage.myapp” minSdkVersion 15 targetSdkVersion 22 versionCode 1 versionName “1.0” } DrawerActivity的布局 styles.xml: @color/colorPrimary @color/colorPrimaryDark @color/colorAccent false true DrawerActivity方法: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_drawer); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); //Setting floating button FloatingActionButton […]