【发布时间】:2018-04-13 13:04:51
【问题描述】:
我有一个现有的应用,其中 ActionBar。操作栏有一个后退按钮(相关的地方)、图标、左侧对齐的标题和右侧的选项菜单。我最近将 AppCompat 库添加到项目中。现在图标不见了。背面、标题和选项显示正常。
所以我开始创建一个工具栏并将其包含在布局中。问题是有很多屏幕已经开始崩溃,因为我没有包含工具栏。另外,如果添加了 NoActionBar 主题,getSupportActionBar 将返回 null。
有没有一种简单的方法可以保留旧的操作栏(不添加工具栏)?
代码
android.support.v7.app.ActionBar actionBar = getSupportActionBar();
if(actionBar != null) {
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
if (toolbar != null)
setSupportActionBar(toolbar);
actionBar.setTitle("Scan Code");
}
工具栏布局
<android.support.design.widget.AppBarLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways">
<android.support.v7.widget.Toolbar
android:minHeight="?attr/actionBarSize"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:navigationIcon="@drawable/app_icon">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
风格
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="icon">@mipmap/app_icon</item>
</style>
【问题讨论】:
-
请添加logcat错误
-
请检查您是否扩展了 AppComptActivity 和清单样式主题