如何Activity.getActionBar在AndroidX工作?

问题描述 投票:-1回答:1

在我的应用我有,我想在登录后交换到NavigationDrawerActivity一个LoginActivity。因此,我已经改变了LoginActivity的代码,这样的按钮即可启动NavigationDrawerActivity,我通过新建>新建活动> NavigationDrawerActivity制造。由于我使用的AndroidX没有在预定义的方法有点问题

private ActionBar getActionBar()
{
    return getActivity().getActionBar();
}

它需要androidx.appcompat.app.ActionBar但它发现android.app.ActionBar

我OFC已经一派问题,有些人说,我需要从AppCompatActivity代替FragmentActivity的延伸,但该类简单地从Fragment延伸。那也是为什么我不能使用getActivity().getSupportActionBar()。我也试着铸造getActivity()AppCompatActivity这样((AppCompatActivity)getActivity()).getSupportActionBar()但这样一来,它看起来非常奇怪:

但我希望它看起来像这样:

P.S:在一些被paintshopped,并不代表最终的内容。它显示了应用程序的实际名称

android androidx
1个回答
0
投票

我发现这个问题。它看起来像Android Studio中弄乱的东西在那里,当我从Theme.AppCompat.Light.DarkActionBar改变我的AppTheme到Theme.MaterialComponents.Light.DarkActionBar然后创建新NavigationDrawerActivity。它的工作原理就像我想,当我第一次创建NavDrawerActivity,然后更改主题。

© www.soinside.com 2019 - 2024. All rights reserved.