Приложение вылетает при попытке скрыть строку заголовка

Чтобы сделать полноэкранное приложение, я внес следующие изменения в манифест нового проекта «пустой активности»:

  android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

Приложение вылетает при запуске на любом устройстве. Изменения, которые я сделал, были рекомендованы многими сообщениями здесь, в StackOverflow, и я не мог понять, что я сделал неправильно.

Файл манифеста

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.app"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="19" />
<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
    <activity
        android:name="com.example.app.MainActivity"
        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>
</manifest>

person Anis LOUNIS    schedule 25.04.2014    source источник
comment
Не могли бы вы опубликовать весь свой AndroidManifest.xml и logcat?   -  person MrByte    schedule 25.04.2014
comment
сбой = трассировка стека. опубликовать это   -  person shkschneider    schedule 25.04.2014
comment
возможный дубликат Android Theme.NoTitleBar не работает   -  person Alex van den Hoogen    schedule 25.04.2014


Ответы (5)


Просто выполните следующие действия:

import android.support.v7.app.ActionBarActivity;

продлевать:

    public class SplashScreen extends ActionBarActivity {

    @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            getSupportActionBar().hide();
            setContentView(R.layout.splash_screen);
    }
}

Он отлично работает с уровнем API 7 или выше.

ИЗМЕНИТЬ:

Используйте AppCompatActivity, потому что ActionBarActivity @устарело в API 23.

person Dhaval Parmar    schedule 26.04.2014

Вы можете сделать это программно следующим образом: (не нужно редактировать файл манифеста, если вы используете это)

 super.onCreate(savedInstanceState);
       setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

        setContentView(R.layout.main);  
person Ersin Gülbahar    schedule 25.04.2014

Включите это в свой файл манифеста. Это сработает.

android:theme="@android:style/Theme.NoTitleBar"
person ravi    schedule 25.04.2014
comment
Увидьте ясно мой ответ. Он отличается от того, что вы используете. - person ravi; 25.04.2014
comment
Вы используете android:theme=@android:style/Theme.NoTitleBar.Fullscreen вместо этого используйте этот android:theme=@android:style/Theme.NoTitleBar - person ravi; 25.04.2014
comment
@AnixPasBesoin вам нужно опубликовать трассировку стека. авария могла быть по другой причине - person Raghunandan; 25.04.2014

чтобы отобразить ваше приложение в полноэкранном режиме, используйте следующий код в файле style.xml в res-->values-->styles.xml

android:theme="@android:style/Theme.Holo.Light.NoActionBar"

ИЛИ ИНАЧЕ используйте диспетчер окон в программном коде каждого действия, упомянутого в файле манифеста Android, как показано ниже...

requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
person san suresh    schedule 25.04.2014
comment
ты почистил свой проект? - person Ersin Gülbahar; 25.04.2014

try
        {
            this.getSupportActionBar().hide();
        }
        catch (NullPointerException e){}

        setContentView(R.layout.activity_main);

это сработало для меня, попробуйте это!

person Laxman Srivastava    schedule 30.04.2020
comment
пакет com.example.casser; импортировать androidx.appcompat.app.AppCompatActivity; импортировать android.os.Bundle; импортировать android.view.View; импортировать android.view.Window; открытый класс MainActivity расширяет AppCompatActivity { @Override protected void onCreate (Bundle saveInstanceState) { super.onCreate (savedInstanceState); попробуйте { this.getSupportActionBar().hide(); } catch (NullPointerException e){} setContentView(R.layout.activity_main); } } - person Laxman Srivastava; 30.04.2020