Android ActionBar не отображается

61
3

Следуя инструкциям здесь: http://developer.android.com/training/appbar/setting-up.html

Панель приложения все еще не отображается, как мы можем видеть здесь: No Action Bar

Тем не менее, я предполагаю, что панель инструментов существует в программе, так как я не получаю исключение NullPointException в тех местах, где программа использовалась для сбоя. Поэтому я предполагаю, что это больше проблема с таблицей стилей.

Здесь активность 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>

И здесь 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>

И здесь я инициализирую его, в классе, который 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));
}

Итак, кто-нибудь знает, почему панель действий даже не появляется?

Дополнительная информация: фрагмент на дисплее является фрагментом libGDX.

спросил(а) 2021-01-19T19:30:49+03:00 2 месяца, 3 недели назад
1
Решение
62

"Theme.AppCompat.Light. NoActionBar "

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

Может быть, вы должны изменить, что "нет панели действий",

ответил(а) 2021-01-19T19:30:49+03:00 2 месяца, 3 недели назад
44

Вы скрываете панель инструментов под рамкой. Поменяйте свой макет на

<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>

ответил(а) 2021-01-19T19:30:49+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема