简体   繁体   中英

Android ActionBar not showing

After following the instructions here: http://developer.android.com/training/appbar/setting-up.html

The appbar is still not showing, as we can see here: 没有操作栏

However, I assume the Toolbar exists in the program, since I don't get any NullPointException on the places where the program used to crash. So I assume is more of a stylesheet problem.

Here's the activity XML

<!-- A DrawerLayout is intended to be used as the top-level content view using match_parent for both width and height to consume the full space available. -->
<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="pt.bluecover.wearable3d.DrawerActivity">

    <!-- placed here as explained @
    http://developer.android.com/training/appbar/setting-up.html -->
    <android.support.v7.widget.Toolbar
        android:id="@+id/my_toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        android:elevation="4dp"
        android:theme="@style/AppBar"
        app:popupTheme="@style/Popup"/>

    <!-- As the main content view, the view below consumes the entire
         space available using match_parent in both dimensions. -->
    <FrameLayout
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <!-- The drawer is given a fixed width in dp and extends the full height of
         the container. -->
    <fragment
        android:id="@+id/navigation_drawer"
        android:name="pt.bluecover.wearable3d.NavigationDrawerFragment"
        android:layout_width="@dimen/navigation_drawer_width"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        tools:layout="@layout/drawer_drawer" />

</android.support.v4.widget.DrawerLayout>

And here's the styles.xml

<resources>
    <style name="AppBar" parent="ThemeOverlay.AppCompat.ActionBar"/>
    <style name="Popup" parent="ThemeOverlay.AppCompat.Light" />
    <style name="GdxTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowBackground">@android:color/transparent</item>
        <item name="android:colorBackgroundCacheHint">@null</item>
        <item name="android:windowAnimationStyle">@android:style/Animation</item>
        <item name="android:windowContentOverlay">@null</item>
    </style>

</resources>

And here's on I'm initializing it, on a class which AppCompatActivity:

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

    //lets set the toolbar
    Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
    setSupportActionBar(myToolbar);

    mNavigationDrawerFragment = (NavigationDrawerFragment)
            getFragmentManager().findFragmentById(R.id.navigation_drawer);
    mTitle = getTitle();

    // Set up the drawer.
    mNavigationDrawerFragment.setUp(
            R.id.navigation_drawer,
            (DrawerLayout) findViewById(R.id.drawer_layout));
}

So, does anyone knows why the action bar doesn't even show up?

Extra info: the fragment in display is a libGDX fragment.

"Theme.AppCompat.Light. NoActionBar "

<style name="GdxTheme" parent="Theme.AppCompat.Light.NoActionBar">

Maybe you should change that "no action bar"

You are hiding the toolbar under the framelayout.change your layout to

<android.support.v4.widget.DrawerLayout..>
  <LinearLayout 
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical">
      <android.support.v7.widget.Toolbar..>
      <FrameLayout ../>
  </LinearLayout>
  <!-- navigation Fragment -->
  <fragment ../>
</android.support.v4.widget.DrawerLayout> 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM