安卓开发修改theme闪退,控件无法显示在顶部最上面。

问题遇到的现象和发生背景

问题一:AndroidManifest.xml,更换Theme时,app闪退;可正常修改为Theme.AppCompat.Light,取消ActionBar(Theme.AppCompat.Light)则闪退。MainActivity继承的是 AppCompatActivity 。
问题二:在MainActivity设置取消Actionbar,代码:getSupportActionBar().hide();页面控件并非在最顶端,如何设置显示在最上面?

问题相关代码,请勿粘贴截图

AndroidManifest.xml

 <application
        android:allowBackup="true"
        android:icon="@mipmap/app_logo"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/app_logo"
        android:supportsRtl="true"
        android:theme="@style/Theme.ShangAn">
        <activity
            android:name=".MainActivity"
            android:exported="true"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
  </application>

theme.xml

    <style name="Theme.ShangAn" parent="Theme.AppCompat.Light">
        <item name="colorPrimaryVariant">@color/app_theme_gray</item><!--顶部状态栏-->
        <item name="colorPrimary">@color/app_theme_black</item><!--顶部导航栏颜色及底部导航栏字体颜色-->
        <item name="colorOnPrimary">@color/app_theme_white</item>
        <!-- Secondary brand color. -->
        <item name="colorSecondary">@color/app_theme_lightgreen</item>
        <item name="colorSecondaryVariant">@color/app_theme_green</item>
        <item name="colorOnSecondary">@color/app_theme_black</item>
    </style>
运行结果及报错内容

img

img

我的解答思路和尝试过的方法

在MainActivity设置取消Actionbar:getSupportActionBar().hide()

我想要达到的结果

1.设置NoActionBar
2.页面控件并非在最顶端,如何设置显示在最上面?

NoActionBar闪退,你是不使用了 NavController NavigationUI?