为什么我在操作栏中看不到默认图标?
Why can't I see default icon in the action bar?
我以为我可以在操作栏上显示图标,但是如您所见,它不起作用,问题出在哪里?
可能跟编译的SdkVersion有关。
我的清单是默认清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.fulvio.bitsandpizzas">
<application
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=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
我的build.gradle:
[![android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.example.fulvio.bitsandpizzas"
minSdkVersion 17
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: \['*.jar'\])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.2.0'
compile 'com.android.support.constraint:constraint-layout:1.0.1'
testCompile 'junit:junit:4.12'
}
默认情况下,Toolbar
(新的 ActionBar
)在最新版本的 Android 中不显示该图标,如果您手动放置它,它不会跟随material 设计准则:
如果你想放置它,你可以用你的 AppBar
和自定义 Toolbar
创建一个 toolbar.xml 并在活动中使用它,包括你的工具栏布局 :
<include layout="@layout/your_layout">
将此代码添加到 Activity
的 onCreate
方法中。
getActionBar().setHomeButtonEnabled(true);
或者如果您使用 SupportActionBar,
getSupportActionBar().setHomeButtonEnabled(true);
转到 MainActivity.java
并粘贴此代码的简单方法
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setLogo(R.drawable.ic_launcher);
getSupportActionBar().setDisplayUseLogoEnabled(true);
}
我以为我可以在操作栏上显示图标,但是如您所见,它不起作用,问题出在哪里? 可能跟编译的SdkVersion有关。
我的清单是默认清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.fulvio.bitsandpizzas">
<application
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=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
我的build.gradle:
[![android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.example.fulvio.bitsandpizzas"
minSdkVersion 17
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: \['*.jar'\])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.2.0'
compile 'com.android.support.constraint:constraint-layout:1.0.1'
testCompile 'junit:junit:4.12'
}
默认情况下,Toolbar
(新的 ActionBar
)在最新版本的 Android 中不显示该图标,如果您手动放置它,它不会跟随material 设计准则:
如果你想放置它,你可以用你的 AppBar
和自定义 Toolbar
创建一个 toolbar.xml 并在活动中使用它,包括你的工具栏布局 :
<include layout="@layout/your_layout">
将此代码添加到 Activity
的 onCreate
方法中。
getActionBar().setHomeButtonEnabled(true);
或者如果您使用 SupportActionBar,
getSupportActionBar().setHomeButtonEnabled(true);
转到 MainActivity.java
并粘贴此代码的简单方法
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setLogo(R.drawable.ic_launcher);
getSupportActionBar().setDisplayUseLogoEnabled(true);
}