android - 在 Android 工具栏中添加图标

标签 android android-actionbar android-toolbar

我有两个 Activity

  • 主要 Activity
  • 详细 Activity

我的 MainActivity.xml 有 AppBarLayout 和 Toolbar 元素。 在 Main Activity.java 中,我使用以下方法设置工具栏中的图标:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
// setting icon
getSupportActionBar().setIcon(R.mipmap.ic_launcher);

同一行代码不适用于 Detail Activity 。 默认情况下,详细 Activity 具有工具栏。我也可以使用以下方法在工具栏中设置标题:

getSupportActionBar().setTitle(String title);

但是,我无法使用以下方法在详细 Activity 中设置图标:

getSupportActionBar().setIcon(R.mipmap.ic_launcher);

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>

<uses-permission android:name="android.permission.INTERNET" />

<application
    android:name=".App"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity
        android:name=".apod_main"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".apod_detail"></activity>
</application>

构建配置:

Android API 26
构建工具版本 26.0.1

最佳答案

试试这个:

getSupportActionBar().setDisplayShowTitleEnabled(true);  
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setIcon(R.drawable.ic_launcher);

关于android - 在 Android 工具栏中添加图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45834388/

相关文章:

java - 内存不足错误: GC overhead limit exceeded api 19

android - 如何将资源文件夹中的自定义字体设置为 Android 中操作栏的标题?

android - 将 API 中的 MenuItem 文本取消大写 23

android - Android Studio中工具栏的预览问题

android - 下载管理器使用平台默认值在 Android 9.0 NetworkSecurityConfig : No Network Security Config specified, 上返回不成功的下载

java - 是否有复杂的 Java WorkQueue API?

android - 在 Android 3.0 中,是否有一种标准方法可以在操作栏项目之间添加分隔符?

java - 更改 fragment 中的 ActionBar 标题

android - NPE : Attempt to invoke virtual method 'java.lang.CharSequence android.support.v7.widget.Toolbar.getTitle()' on a null object reference

java - 折叠工具栏布局将在 Activity 开始时自动进入折叠状态