Articles of android actionbar compat

ActionBarCompat显示溢出菜单中的每个操作

我已经开始使用AppCompat库中的ActionBar。 但是我添加到此的任何操作都显示在溢出菜单中。 我很确定我已经跳过了一些东西,但我完全不知道。 这是我的菜单文件: 以及来自ActionBarActivity的活动的onCreate方法中的任何配置: getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setHomeButtonEnabled(true); 我错过了什么?

无法从Robolectric 2unit testing中创建ActionBarActivity

我正在使用Robolectric 2来测试我的Activity。 这扩展了ActionBarActivity: // This Activity uses one ActionBarCompat theme public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } 我的测试是: @RunWith(RobolectricTestRunner.class) public class MainActivityTest { @Test public void shouldBlaBlaBla() throws Exception { Robolectric.buildActivity(MainActivity.class).create().get(); assert(…); } } 问题是,当我告诉Robolectric创建Activity时,会抛出exception。 java.lang.NullPointerException at java.util.regex.Matcher.getTextLength(Matcher.java:1234) at java.util.regex.Matcher.reset(Matcher.java:308) at java.util.regex.Matcher.(Matcher.java:228) at java.util.regex.Pattern.matcher(Pattern.java:1088) at org.robolectric.res.ResName.(ResName.java:25) at […]

如何在使用AppCompat时更改ActionBar标题字体

我想将自定义字体应用于我的应用程序的标题,该标题显示在ActionBar上。 以前我没有使用任何支持库和这个解决方案: int titleId = getResources().getIdentifier(“action_bar_title”, “id”, “android”); TextView yourTextView = (TextView) findViewById(titleId); yourTextView.setTypeface(face); 对我来说很好。 但是现在我正在使用材质设计SupportActionBar,这会抛出NullPointerException。 那么如何在使用AppCompat时更改ActionBar字体?

Android ActionBarCompat库

我在使用昨天发布的ActionBarCompat支持库时遇到了麻烦。 我已经更新了支持存储库,并在build.gradle中包含了appcompat-v7存储库的路径,正如Chris Banes在DevBytes中指出的那样 – https://www.youtube.com/watch?v=6TGgYqfJnyc 。 dependencies { compile (‘com.android.support:support-v4:18.0.+’) compile (‘com.android.support:appcompat-v7:18.0.+’)} 构建顺利,我可以使用来自这个库的ActionBarActivity类,但我不能使用样式和任何资源,所以我不能使用以下主题 – @ style / Theme.AppCompat等我想我会在…中find源文件./sdk/extras/android/…/”supportrepo“所以我会像Gradle一样引用ActionBarSherlock,但这似乎不是正确的答案。 我究竟做错了什么? 谢谢。

从ICS ActionBar切换到Lollipop工具栏后,缺少导航图标

我有一个活动,其中包含许多使用操作栏和导航抽屉的片段。 它启用了“home as up”。 我已经实现了正确的逻辑,只有顶级片段显示操作栏抽屉切换图标,其他片段显示箭头。 我通过以下方式实现了 mDrawerToggle.setDrawerIndicatorEnabled(false); mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, mDrawerList); 现在旧的v4支持库ActionBarDrawerToggle已被弃用。 我已经与新Toolbar一起切换到v7版本以获得Material Design外观。 在抽屉打开之后,“向上”箭头被正确显示,但是当执行上述代码时,它完全消失。 这是支持库中的错误还是我必须做一些不同的事情来显示“向上”箭头而不是抽屉指示器?

在Eclipse中添加库v7 AppCompat时,如何解决错误“找不到与给定名称匹配的资源”?

我有一个API级别10的项目目标,我想实现新的ActionBar支持库。 按照支持库设置中的所有说明操作后,将库添加到我的项目时,我遇到了许多错误消息,如下所示: android-support-v7-appcompat\res\values-v14\styles_base.xml:24: error: Error retrieving parent for item: No resource found that matches the given name ‘android:Widget.Holo….. 好吧,我知道他们对这个问题有很多答案,但是,在尝试了所有更明显的后,我仍然无法解决错误。 我一直在寻找并find原因,这不是那么明显,至少对像我这样的新手来说。 我的意图是提供一个完整的答案,以帮助所有像我一样的人,并且不掌握Android开发的所有秘密。

如何在使用ViewPager时处理ActionBarActivity片段中的AsyncTask?

我正在使用ActionBarActivity创建5个选项卡。 我使用ViewPager使用SectionsPagerAdapter在5个选项卡之间滑动,扩展了FragmentPagerAdapter。 每个选项卡都有一个带有asynctask的片段,在oncreateview方法中调用。 当我在一个片段中时,正在调用其他片段中的asynctask。 我尝试在oncreateview方法中使用toast消息是每个片段而不是asynctask。 但错误的吐司消息正在以错误的片段被触发。 Oncreate方法代码: mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager()); mViewPager = (ViewPager) findViewById(R.id.pager_exp); mViewPager.setAdapter(mSectionsPagerAdapter); mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { @Override public void onPageSelected(int position) { actionBar.setSelectedNavigationItem(position); actionBar.setTitle(getHomePageTitle(position)); } }); for (int i = 0; i < mSectionsPagerAdapter.getCount(); i++) { // Create a tab with text corresponding to the page title defined by // the adapter. […]

android.support.v7.widget.Toolbar图标对齐问题

使用新的Android 5.0工具栏方法,并遵循Google IO示例,我在工具栏中设置导航图标和微调器。 问题是,导航图标是BOTTOM对齐的。 我找不到任何理由发生这种情况…… [请注意,我故意将其设置为一个实心方块,以便更清楚地看到对齐问题] 我的代码如下: toolbar.xml 主要风格 @color/appMainColor #fff #ffff #3fff ActivityMain getSupportActionBar().setDisplayHomeAsUpEnabled(true); if (mActionBarToolbar != null) mActionBarToolbar.setNavigationIcon(R.drawable.ic_drawer);

ActionBarCompat:在创建活动之前隐藏ActionBar(bug?)

所以我使用ActionBarSherlock并决定切换到新的ActionBarCompat。 使用ABS,可以使用本文中描述的方式隐藏ActionBar: 如何在创建活动之前隐藏操作栏,然后再次显示它? 但是,使用ActionBarCompat,应用程序在API14上崩溃,因为当你将android:windowActionBar设置为false , getSupportActionBar()方法返回null,即使你已经声明了getWindow().requestFeature(Window.FEATURE_ACTION_BAR); 进入onCreate()方法。 有趣的是,如果你调用getActionBar() ,你得到的对象,一切正常。 那么,这是一个错误还是我错过了什么? 欢迎任何想法! styles.xml文件: false 0dp MyActivity.java文件: … @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Get the action bar feature. This feature is disabled by default into the theme // for specific reasons. getWindow().requestFeature(Window.FEATURE_ACTION_BAR); … // By default the action bar is hidden. getSupportActionBar().hide(); }

工具栏上的Android后退箭头(AppCompatActivity)

我想在我的应用程序中显示后退箭头按钮,但是当我将其放入我的代码时应用程序崩溃: getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowHomeEnabled(true); style.xml @color/PrimaryColor @color/PrimaryColorDark @color/PrimaryColor @color/ControlHighlight @android:color/transparent #000000 #FFFFFF 3dp @style/MyCustomTabTextAppearance #FFFFFF toolbar.xml 类(不是片段) : public class WebViewCanale extends AppCompatActivity { Toolbar toolbar; TextView textView; WebView webView; ProgressBar progressBar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.webview_canali); getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowHomeEnabled(true); //Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); //FindViewById webView = (WebView) findViewById(R.id.webview); textView = (TextView) […]