Articles of android actionbar compat

将操作栏更改为从片段内重叠

我有一个片段(片段1)被replace为另一个片段(片段2)。 片段1被放置在堆栈上。 我正在使用兼容模式(而不是ActionBarSherlock)。 这是我的问题。 我希望操作栏在某些片段中显示为叠加,而不是其他部分。 具体来说,当显示Fragment 2时,我希望它出现在叠加层中,然后在Fragment 2退出时再回到正常的操作栏。 片段1有一个常规的操作栏,始终可见。 但是,当我用Fragment 2replaceFragment 1时,我需要在5秒后隐藏操作栏。 如果有触摸事件,则再次显示操作栏。 这一切工作正常,但是,每当操作栏被隐藏或显示时,片段2都会重新绘制。 因此,我想让Fragment 2中的操作栏显示为叠加层。 我知道我可以改变操作栏覆盖,但我不知道如何从片段内以编程方式做到这一点。 我不想改变它的每一个片段,只是片段2。 思路?????

AppCompat操作栏库不显示添加的片段

编辑 :如果我扩展FragmentActivity而不是ActionBarActivity我的布局再次出现(当然没有一个ActionBar )。 ActionBar在4.x设备上按预期工作,但在我的2.3设备上,我所得到的是ActionBar和它下面的空白屏幕 。 Fragment似乎没有被添加到Activity 。 的themes.xml <style name="AppTheme" parent="AppBaseTheme"> <item name="actionBarStyle">@style/Widget.ActionBar</item> </style> 主题-v11.xml <style name="AppTheme" parent="AppBaseTheme"> <item name="android:actionBarStyle">@style/Widget.ActionBar</item> </style> styles.xml <style name="Widget.ActionBar" parent="@style/Widget.AppCompat.ActionBar"> <item name="android:background">@color/actionbar_background</item> <item name="background">@color/actionbar_background</item> </style> Activity onCreate() FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); myFragment = new WallFragment(); fragmentTransaction.add(android.R.id.content, myFragment, myFragment.FRAGMENT_TAG); fragmentTransaction.commit(); 我正在使用Gradle将AppCompat ActionBar库包含在我的应用程序中。 compile 'com.android.support:appcompat-v7:18.0.+'

删除操作栏appcompat下面的阴影

是否有可能删除操作Actionbar下的Actionbar ? 我正在使用AppCompat v7库。

使用ActionBarCompat的ProgressBar的NullPointerException

我在support-v7-r18中使用ActionBarCompat。 当试图显示一个不确定的进展,它适用于Galaxy S3的Android 4.1.2,但不在Galaxy Ace Android 2.3.3。 我不明白为什么。 引发exception的代码: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); … final ActionBarActivity activity = this; content = (WebView) findViewById(R.id.webContent); content.setWebViewClient(new WebViewClient() { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); activity.setSupportProgressBarIndeterminate(true); <=== Line 88 activity.setSupportProgressBarIndeterminateVisibility(true); } } 例外: FATAL EXCEPTION: main java.lang.NullPointerException at […]

无法在ActionBarActivity中创buildalertDialog

我有一个扩展ActionBarActivity的Activity 。 每当我尝试在其中创build一个AlertDialog时,在创build对话框的那一行出现这个错误 java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity. 但是我已经使用Appcompat主题Theme.AppCompat.Light.NoActionBar因为我正在使用工具栏。 这可能是什么原因? 这是我的活动: import android.app.ProgressDialog; import android.content.DialogInterface; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.support.v7.app.AlertDialog; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; public class MyActivity extends ActionBarActivity { Toolbar toolbar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_comments); toolbar = (Toolbar)findViewById(R.id.tool_bar_comment); setSupportActionBar(toolbar); […]

无效的PayloadtypesAndroid

一个新的更新后,我发现在操作栏和LG设备的兼容性spannable /格式化string的问题。 以下是我的代码: SpannableString s = new SpannableString("About"); s.setSpan(new TypefaceSpan(this, "Sansation-Regular.ttf"), 0, s.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); getSupportActionBar().setTitle(s); 我相信setTitle是当它崩溃,并给出这个错误: java.lang.IllegalArgumentException: Invalid payload item type at android.util.EventLog.writeEvent(Native Method) 这会解决任何潜在的问题吗? 我是Android新手,所以不知道。 因为这个问题似乎只发生在使用actionbarcompat运行4.1.2的LG设备上 – 但是由于我打算在未来添加对较低API级别的支持,所以我现在不想摆脱actionbarcompat。 SpannableString s = new SpannableString("About"); s.setSpan(new TypefaceSpan(this, "Sansation-Regular.ttf"), 0, s.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); try{ getSupportActionBar().setTitle(s); }catch(IllegalArgumentException e) { getSupportActionBar().setTitle("About"); } 谢谢。! PS:有问题的设备是LG正在运行的4.1.2

不确定的水平ProgressBar下面的ActionBar使用AppCompat?

我一直在寻找如何将不确定的水平进度条使用AppCompat放置在操作栏下面的答案。 我能够看到水平进度条,但是它位于操作栏的顶部。 我想要它下面/下面的操作栏就像gmail如何做(除非没有刷新)。 我使用下面的代码来显示进度条: supportRequestWindowFeature(Window.FEATURE_PROGRESS); setContentView(R.layout.main_activity); setSupportProgressBarIndeterminate(Boolean.TRUE); setSupportProgressBarVisibility(true); 但是这将水平进度条放置在操作栏的顶部。 任何人都知道如何将进度条放置在操作栏下方?

问题与ActionBarActivityDelegate类…应用程序不运行

你好,我希望有人可以帮助我,我打算把我的testing应用程序中的一个操作栏,所以我完全按照开发人员API指南中所述。 但是当我试图编译它会抛出这个错误(logcat): java.lang.ExceptionInInitializerError at android.support.v7.app.ActionBarActivityDelegate.createDelegate() at android.support.v7.app.ActionBarActivity.onCreate()….. ….. Caused by: java.lang.NoClassDefFoundError: android.support.v7.appcompat.R$attr at android.support.v7.app.ActionBarActivityDelegateBase.<clinit> 会发生什么是该应用程序已正确安装到我的手机,但即使它显示任何用户界面之前,它会引发错误,并closures。 我甚至尝试过最简单的应用程序(“你好世界的例子”),并说同样的事情,我在真实的手机和模拟器都尝试过, 任何想法如何解决? 似乎没有类的ActionBarActivityDelegateBase的定义,但我找不到任何参考指南或任何其他网站

Android:AppCompat 21,如何将后面的图标和溢出图标更改为自定义的图标?

在我的项目上,直到前几天,我使用了sherlock actionbar,但我决定将整个actionbar风格改为新的材质devise。 在我的老背景和溢出图标的主题上,我有一些自定义图标设置在我的主题。 但在appcompat我试图定义它在我的主题,我在工具栏上使用它,但它不工作。 任何人都知道如何使这成为可能? 我在工具栏上使用的主题(使用资源工作室生成): <style name="Theme.Themewiz" parent="@style/Theme.AppCompat.Light.DarkActionBar"> <item name="android:actionBarStyle">@style/ActionBar.Solid.Themewiz</item> <item name="android:actionBarItemBackground">@drawable/selectable_background_themewiz</item> <item name="android:popupMenuStyle">@style/PopupMenu.Themewiz</item> <item name="android:dropDownListViewStyle">@style/DropDownListView.Themewiz</item> <item name="android:actionBarTabStyle">@style/ActionBarTabStyle.Themewiz</item> <item name="android:actionDropDownStyle">@style/DropDownNav.Themewiz</item> <item name="android:actionModeBackground">@drawable/cab_background_top_themewiz</item> <item name="android:actionModeSplitBackground">@drawable/cab_background_bottom_themewiz</item> <item name="android:actionModeCloseButtonStyle">@style/ActionButton.CloseMode.Themewiz</item> <!– Light.DarkActionBar specific –> <item name="android:actionBarWidgetTheme">@style/Theme.Themewiz.Widget</item> <item name="android:actionOverflowButtonStyle">@style/Theme.AppCompat.Overflow</item> </style> <style parent="@style/Widget.AppCompat.ActionButton.Overflow" name="Theme.AppCompat.Overflow"> <item name="android:src">@drawable/ic_action_overflow</item> </style> 工具栏xml: <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/my_awesome_toolbar" android:layout_height="wrap_content" android:layout_width="match_parent" android:minHeight="?attr/actionBarSize" android:background="?attr/colorPrimaryDark" app:theme="@style/Theme.Themewiz" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

使用appcompat-v7自定义Actionmode中的“后退”箭头颜色

我的主题是基于Theme.AppCompat.Light ,如下所示: <style name="core" parent="Theme.AppCompat.Light" > <!– Material, Yo!–> <item name="colorPrimary">@color/theme_main_color</item> <item name="colorPrimaryDark">@color/deep_purple</item> <item name="colorAccent">@color/theme_accent_color</item> <item name="android:navigationBarColor" tools:ignore="NewApi">?attr/colorPrimary</item> <!– Toolbar –> <item name="theme">@style/my_toolbar_theme</item> <item name="drawerArrowStyle">@style/my_drawer_arrow</item> <!– Actionbar –> <item name="android:actionBarDivider">@null</item> <item name="android:actionBarTabStyle">@null</item> <item name="android:actionBarTabBarStyle">@null</item> <!– Contextual Actionbar –> <item name="windowActionModeOverlay">true</item> <item name="actionModeBackground">?attr/colorAccent</item> <item name="actionModeStyle">@style/my_actionmode_style</item> </style> <style name="my_drawer_arrow" parent="Widget.AppCompat.DrawerArrowToggle" > <item name="spinBars">true</item> <item name="color">@color/theme_accent_color</item> </style> <style […]