Как заменить setSupportActionBar стилями? - PullRequest
1 голос
/ 09 июля 2019

В моем приложении для Android я не могу использовать AppCompatActivity. У меня нет исходного кода этой части проекта. Поэтому я использую

androidx.fragment.app.FragmentActivity

тема приложения:

<style name="MainAppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">

мой макет с панелью инструментов:

<androidx.drawerlayout.widget.DrawerLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/drawer_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">


    <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">

        <androidx.appcompat.widget.Toolbar
                android:id="@+id/toolBar"
                android:layout_width="match_parent"
                android:layout_height="@dimen/tool_bar_height"/>
        <!-- Framelayout to display Fragments -->
        <FrameLayout
                android:id="@+id/frame_container"
                android:layout_width="match_parent"
                android:layout_height="match_parent">
        </FrameLayout>
    </LinearLayout>    

</androidx.drawerlayout.widget.DrawerLayout>

Вот мой фрагмент кода:

import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.widget.Toolbar;
public class MainNavigationDrawerFragmentActivity extends androidx.fragment.app.FragmentActivity

mToolbar = (Toolbar) findViewById(R.id.toolBar);
toolbaTitleTextView = (TextView) findViewById(R.id.toolbaTitleTextView);
actionBarDrawerToggle = new ActionBarDrawerToggle(
    this,
    mDrawerLayout,
    mToolbar, 
    R.string.application_name,
    R.string.application_name) {
        public void onDrawerClosed(View view) {
            toolbaTitleTextView.setText(mTitle);
            invalidateOptionsMenu();
        }

в качестве панели результатов отображается, но меню не отображается. Для отображения меню мне нужно использовать

setSupportActionBar(toolbar);

но я не могу использовать этот метод, потому что я не могу использовать AppCompatActivity.

Можно ли заменить setSupportActionBar(toolbar); другим методом или, может быть, настройки / стили, чтобы показать меню на панели инструментов?

...