Articles of android actionbar

我无法让Android搜索界面在Action Bar中运行

我试着按照这里的指南,但我遇到了一些问题。 我正确地将搜索图标显示在操作栏中,但是我无法将searchable configuration附加到SearchView。 我的res / menu / options_menu.xml文件: 我的res / xml / searchable.xml文件(注意:我必须在res文件夹中创建一个“xml”文件夹,因为一个文件夹不存在。我不认为这应该会有所不同吗? 我的res / values / strings.xml文件: Starting To Feel It Single Post View Search Activity Settings Last Next Play Previous Next Playlist Progress Bar Open navigation drawer Close navigation drawer Search STFI Search STFI Menu Item Picture 我的AndroidManifest.xml文件: 我的所有活动都扩展了一个名为MenuActivity的类,这里是MenuActivity.java中定义的onCreateOptionsMenu函数: @Override public boolean onCreateOptionsMenu(Menu […]

Android – 自定义操作栏sherlock选项卡

我试图自定义操作栏sherlock选项卡,以便它们显示选项卡图标下方的选项卡文本。 在搜索和阅读有关主题后,我仍然没有太多运气。 以下是我得到的结果: 已选择自定义tab1 未选择自定义选项卡1,选择标准选项卡2 这是我到目前为止: 创建了我自己的styles.xml,我在其中更改了一些操作栏设置: @dimen/st__action_bar_default_height @style/Skoletube.TabView @style/Skoletube.Tab.Text @drawable/abs__tab_indicator_holo 6dp 6dp @android:style/TextAppearance.Medium @android:color/primary_text_dark 10sp 创建了一个xml资源,我在其中更改并为操作栏设置了一些文本设置。 在这里,我增加了操作栏的高度,从而增加了标签的高度。 我还减小了文本的大小,以便为选项卡中的图标和文本添加空间 58dip 10dp 6dp -3dp 5dip 然后我为要使用的选项卡定义了自定义布局,我将文本放在图标下方: 仅作为记录,作为相对布局的样式传递的属性指向: 然后我将这些更改应用到我的应用程序,如下所示,第一个选项卡具有我的自定义实现,第二个选项卡具有标准实现: final ActionBar actionBar; actionBar = getSupportActionBar(); actionBar.setDisplayHomeAsUpEnabled(false); actionBar.setDisplayUseLogoEnabled(true); // Set up tabs myMediaTab = actionBar.newTab(); myMediaTab.setCustomView(R.layout.skoletube_tab_layout); ImageView myMediaImg = (ImageView) myMediaTab.getCustomView().findViewById(R.id.sk_abs__tab_icon); myMediaImg.setImageResource(R.drawable.tab_mymedia); ScrollingTextView myMediaText = (ScrollingTextView) myMediaTab.getCustomView().findViewById(R.id.sk_abs__tab_txt); myMediaText.setText(“Tab1”); […]

ActionBar标签 – 固定和可滚动?

在Android设计指南中,它指出“有两种types的标签:固定和可滚动”。 我在ActionBar文档中找不到任何文档来支持指定任一types的选项卡。 如何指定要固定或可滚动的选项卡组? 如果你不能,那么选项卡是固定的还是可滚动的呢?

Android设备选择器在目标列中显示红色X.

我最近构建了一个Android应用程序,其minSdkVersion为7,targetSdkVersion为10.我现在正在使应用程序平板兼容并添加操作栏。 所以我通过targetSdkVersion更新为15,在我的项目属性中,将我的Project Build Tarket移动到Android 4.0.3,API 15.我还仔细检查了我的Java编译器是1.6。 在不对我的代码进行任何其他更改的情况下,我尝试运行我的应用程序,在Android设备选择器中,我的两个物理设备,版本2.3.4和3.1,在目标列中都有一个红色X,而不是绿色复选标记。 我还在使用ActionbarCompat示例应用程序和ActionbarSherlock的示例应用程序,当我运行其中一个应用程序时,我的两个设备都会显示绿色复选标记。 这两个示例应用程序的项目构建目标都设置为4.0.3,并且我的应用程序中的sdkVersion设置相同。 据我所知,我的应用程序设置与其他应用程序相同。 为什么我的应用程序在Target列中的设备版本旁边有一个红色X. 谢谢!

操作栏 – ifRoom选项留下太多空间

我的操作栏上有问题,我尝试在其上设置搜索视图 ,以便使搜索栏可扩展。 这很好,除了我必须使用ifRoom选项设置所有其他菜单项,以便在单击搜索图标时让搜索字段占据所有空间。 这部分也运行良好,除了太多的菜单项被推入菜单溢出,垂直屏幕上只剩下2个图标(包括搜索栏)。 我对另一个有5个菜单项的活动做了另一个测试: 在第一种情况下,我用android:showAsAction=”always”设置所有这些android:showAsAction=”always” 在第二种情况下,我将所有这些设置为“android:showAsAction =“ifRoom”` 结果如下: 情况1: 案例2: 为什么我使用ifRoom ,只显示2个图标,而实际上5个可以轻松填充该位置? 因此,我的搜索视图项旁边只有一个菜单项… 谢谢!

如何在所有Android版本上显示支持库的ActionBar和工具栏的阴影?

这是一个简单的问题: 我使用新的支持库,它允许我有一个工具栏实例,甚至将其设置为活动的actionBar(或使用默认的)。 如何自定义工具栏(或默认ActionBar)投射的阴影? 我试过使用“setElevation”(两者都有),但它似乎没有在Android Lollipop上做任何事情。 另外,我找不到如何在Lollipop前版本上自定义阴影。 可能有这个API吗? 或至少是一个drawable(我没有find,即使我已经尝试过)? 好的,我已经设法find了下一件事: 对于Lollipop和pre-Lollipop,当您的活动使用正常的AppCompat主题(例如“Theme.AppCompat.Light”)时,阴影看起来应该很好。 但是,当您使用“setSupportActionBar”(并使用适当的主题,例如“Theme.AppCompat.Light.NoActionBar”)时,您将遇到阴影的一些问题。 对于pre-Lollipop,你可以在工具栏下面放置一个FrameLayout,它看起来就像用于普通主题的那样,如下所示: 您可以使用FrameLayout作为活动的内容,或使用我所做的。 您还可以通过为棒棒糖前置整数0和为棒棒糖及以上版本放置2来设置其可见性,就像我使用“action_bar_shadow_background_visibility”一样。 这是一个丑陋的解决方案,但它可以工作,但仅限于前Lollipop版本。 在任何情况下,我仍然找不到一种方法来为棒棒糖显示阴影,以防我使用“setSupportActionBar”。 我尝试在工具栏和操作栏上使用“setElevation”(在调用“setSupportActionBar”之后立即使用“getSupportActionBar”)。 我也没有得到如何获得动作栏的标准高度,因为我注意到很多教程说使用“minHeight”作为工具栏。 非常感谢这方面的帮助。 谁能帮我这个? 再说一次,为了说清楚,这就是我的要求: 对于Pre-Lollipop,显示在工具栏和ActionBar的支持库上使用的相同阴影。 Lollipop相同(但使用Lollipop拥有的那个) 额外:在Lollipop上自定义阴影更加“精致”(也许可以在所有版本上自定义)。 额外:为什么工具栏的minHeight获取操作栏高度的值,而不是高度本身? 编辑:好的,到目前为止,这是模仿Lollipop的影子: RES /布局/ toolbar_action_bar_shadow.xml RES /布局-V21 / toolbar_action_bar_shadow.xml RES /抽拉-V21 / RES /布局/ msl__action_bar_shadow.xml 它不完全相同,但它是相似的。 编辑:我仍然不知道为什么会这样。 我认为我在这个问题上写的代码是误导性的,因为所有要做的就是设置背景。 然而在我正在测试它的应用程序仍然无济于事。 我正在尝试修复的应用程序在导航抽屉上方有工具栏。 有一会儿,我认为可能是因为我制作了一个自定义工具栏(从工具栏扩展)并改变了它的alpha值(根据导航抽屉),但即使我使用普通工具栏并禁用所有相关内容到alpha,它仍然无法正常工作。 此外,不仅如此,而且在一个全新的项目中,我试图为工具栏设置半透明背景,并根据“setElevation”方法得到阴影。 现在我更难find导致这个问题的原因,因为它似乎不是因为透明而不是因为自定义工具栏类…… 这是包含工具栏的活动的布局,以防这可能有任何帮助: <!–

以编程方式全屏制作片段

我有一个ViewPager和FragmentPagerAdapter在一个活动中设置3个片段。 所有片段同时加载并使用保存在内存中 mPager.setOffscreenPageLimit(2); 其中一个片段包含我想要全屏显示的相机预览,没有状态栏或操作栏。 其他片段要求显示操作栏。 如何在保持其他两个片段正常的同时,仅将相机预览片段全屏显示? 我尝试过使用主题,这意味着打破了操作栏。 以编程方式调用以下内容没有帮助,因为它强制整个活动全屏(因此其他两个片段随之而来): requestWindowFeature(Window.FEATURE_NO_TITLE); this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.main); 我也尝试过实现ViewPager.OnPageChangeListener: public void onPageSelected(int position) { if(position == 1) getActionBar().hide(); else getActionBar().show(); } 这确实隐藏了操作栏,但它没有隐藏系统状态栏(我正在谈论通知,状态图标和时间的位置),并且操作栏隐藏/显示animation在滑动时也非常不连贯。 有关我想要做的事情的一个例子,请参阅Snapchat – 他们设法完美地完成相机和其他片段之间的滑动。 编辑: 所以我将onPageSelected更改为: public void onPageSelected(int position) { if(position == 1) { MainActivity.this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); MainActivity.this.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); } else { MainActivity.this.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); MainActivity.this.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); } } 这使我可以更改状态栏是否显示。 但是,它会造成大量的猛击。 操作栏的问题相同。 我注意到在Snapchat中状态栏在标签更改完成后上下滑动。 我不确定如何实现这一点,所以有关这方面的任何建议将不胜感激。

FragmentPagerAdapter麻烦和困境:构造函数未定义

编辑:我已经重新编写了一些代码来尝试通过错误 (但现在应用程序在启动时崩溃)。 首先,我的类现在扩展FragmentActivity,以便我可以访问方法getSupportFragmentManager();. 然后,在创建中,我改变了我的构造函数: mTabsAdapter = new TabsAdapter(this.getSupportFragmentManager(), this, mViewPager); 从那里,在我的子类中,我更改了代码以反映这一点: public TabsAdapter(FragmentManager fm, Activity activity, ViewPager pager) { super(fm); mContext = activity; mActionBar = activity.getActionBar(); mViewPager = pager; mViewPager.setAdapter(this); mViewPager.setOnPageChangeListener(this); } 正如我所说,它仍然崩溃,此时有任何想法吗? 开始原始问题:我有以下错误:“构造函数FragmentPagerAdapter(FragmentManager)未定义”* 当我尝试执行以下行时: super(activity.getFragmentManager()); 这一行跟随我的public TabsAdapter(Activity activity, ViewPager pager) {它正在扩展FragmentPagerAdapter 。 基本上,我正在尝试获取我的8+片段应用程序(8个片段,一个活动,其中包含一组链接到每个片段的ActionBar选项卡[为了简洁起见,此处仅显示一个“loginTab”])。 这是我的整个代码: 编辑:我用于参考的页面: http : //developer.android.com/reference/android/support/v4/view/ViewPager.html Android : Page Swiping using ViewPager package […]

Android:标题栏和ActionBar之间有什么区别

我不知道他们是否是同一个东西,他们似乎有不同的方法去除它们但我不确定这些只是多种方法来做同样的事情。 那么有什么不同,如果有什么呢? 参考: https://developer.android.com/reference/android/R.id.html#title https://developer.android.com/reference/android/app/ActionBar.html (使用材料设计,通常用工具栏表示)

更改操作栏onPressed颜色

我无法弄清楚如何在Android上更改操作栏项“onPressed”颜色。 我不是在谈论动作栏背景颜色,而是关于蓝色状态。 我怎样才能改变这种颜色或至少摆脱它? 例如,带有homeAsUpIndicator的App Icon。 我试图改变动作栏样式和菜单项样式,但没有任何效果。 谢谢 编辑这是我到目前为止的实现: 我的风格xml: @style/MyActionBar @android:color/transparent @anim/fadein @anim/fadeout @android:color/transparent @drawable/actionbarheader @drawable/actionbarheader @drawable/actionbarheader @style/ActionBarTitle @android:color/transparent @style/MyActionButtonStyle @drawable/actionbarlogo @drawable/app_icon> 20sp @android:color/transparent 然后我有一个drawable for actionbarogo: 我的菜单xml用于操作栏项: 最后,该项目的drawable: 以下是我为ActionBar创建菜单项的方法: public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main_menu, menu); actionBar.setIcon(R.drawable.actionbarlogo); return true; } public boolean onPrepareOptionsMenu(Menu menu) { MenuItem item= menu.findItem(R.id.ContactsMode); if(ContactsButton) item.setVisible(true); […]