错误您需要在活动中使用Theme.AppCompat主题(或后代)

Usm*_*Ali 3 performance android runtime-error logcat android-studio

我正在使用anroid应用程序,因为它在黑暗的操作栏中可以正常运行,但是当我将其更改为无操作栏时,应用崩溃并在logcat中显示此错误。

Logcat错误

我对样式和xml文件进行了更改,但仍然存在相同的问题。当我再次显示“黑暗”操作栏时,它开始正常工作。

我研究过的链接

链接1

这是我的风格文件

<resources>
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:textColor">@color/colorText</item>
    <item name="android:textColorHint">@color/colorText</item>
    <item name="colorControlNormal">@color/colorText</item>
    <item name="colorControlActivated">@color/colorText</item>
</style>
Run Code Online (Sandbox Code Playgroud)

<resources>
<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
</style>
Run Code Online (Sandbox Code Playgroud)

这是清单文件

<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity
        android:name=".activities.SplashActivity"
        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".activities.WelcomeActivity"
        android:screenOrientation="portrait" />
    <activity
        android:name=".activities.LoginActivity"
        android:screenOrientation="portrait" />
    <activity
        android:name=".activities.RegisterActivity"
        android:screenOrientation="portrait" />
    <activity
        android:name=".activities.UsersListActivity"
        android:screenOrientation="portrait" />
</application>
Run Code Online (Sandbox Code Playgroud)

Mr.*_*tel 9

解决方案是将Java继承从ActionBarActivity更改为Activity,并将对话框主题原样保留在清单中,这是一个非Theme.AppCompat值

在您的情况下,您的清单文件存在问题,您尚未android:theme="@style/AppTheme.NoActionBar"在活动标记内指定

转到清单文件,并用以下代码替换启动活动:

<activity
            android:name=".activities.SplashActivity"
            android:theme="@style/AppTheme.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
Run Code Online (Sandbox Code Playgroud)

在您的启动活动类中执行以下操作:

public class SplashActivity extends AppCompatActivity
Run Code Online (Sandbox Code Playgroud)