2 freedom wings freedom_wings 于 2016.01.23 22:24 提问

安卓,为什么我写的toolbar会不显示出来?

我用Android Studio建一个Empty Activity

代码如下:

xml代码:
<?xml version="1.0" encoding="utf-8"?>
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".MainActivity">

<android.support.design.widget.AppBarLayout
    android:id="@+id/appbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:theme="@style/AppTheme.AppBarOverlay"
    >

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"

        android:title="主标题"
        android:subtitle="副标题"

        />


</android.support.design.widget.AppBarLayout>
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:minHeight="40dp"
    android:text="这是个测试"
    android:textSize="50dp"
    android:textColor="#ff6666"/>

以下是style:

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>

</style>

<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowActionBar">false</item>
    <item name="android:windowNoTitle">true</item>

</style>

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"></style>
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

以下是manifest.xml:
<?xml version="1.0" encoding="utf-8"?>
package="com.example.dell_pc.myapplication" >

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

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

以下是mainActivity:
package com.example.dell_pc.myapplication;

import android.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Toolbar toolbar=(Toolbar)super.findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
}

}

下面贴张效果图,我真的想不明白为什么会是这样的效果:
图片说明
图片中有白色的“MyApplication”这几个字。请问为什么会是这样的效果?怎样能把toolbar显示出来?

3个回答

devmiao
devmiao   Ds   Rxr 2016.01.23 23:18
liyuanjinglyj
liyuanjinglyj   2016.01.25 10:38

你没有设置到界面在获取toolbar后调用setSupportActionBar(toolbar);

crazy1235
crazy1235   Ds   Rxr 2016.01.31 20:52

使用Toolbar的时候,需要把主题设置成**noActionBar**.

 android:theme="@style/AppTheme.NoActionBar"

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!