Android: создание полноэкранного приложения
каково самое простое изменение, которое я могу сделать для нового пустого действия, созданного последней версией Android Studio, чтобы приложение появилось в полноэкранном режиме?
Я хочу создать полноэкранное приложение для Android. Я работаю с Android Studio. этот пост предлагает добавить строку, такую как ...
android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen"
... в AndroidManifest.XML-файл, как показано ниже:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.lexogram.james.blackslate" >
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.lexogram.james.blackslate.MainActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
когда я это делаю, приложение компилируется, но это сбой при запуске. Если я удалю строку, приложение будет работать нормально, но с панелью действий и заголовком, Как и другие пользователи.
Это моя первая попытка создать приложение для Android, поэтому мое приложение вряд ли отличается от оригинального примера Hello World.
изменить: Я создал новый проект и внес в него только одно изменение. Вот выдержка из журнала ошибок:
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.lexogram.james.test/com.lexogram.james.test.MainActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2669)...
примечание: Я тестирую на старом Samsung SGH-T499Y, под управлением Android 2.2 (Froyo)
8 ответов
вы получаете эту проблему, потому что вы пытаетесь применить android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen">
to расширяет ActionBarActivity, который требует применения темы AppCompat.
расширить свою деятельность с Activity
, а не ActionBarActivity
возможно, вам придется изменить свой класс Java соответственно немного.
если вы хотите удалить строку состояния тоже, то используйте это перед setContentView(layout)
на onCreateView
метод
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
просто добавьте следующий атрибут к текущей теме:
<item name="android:windowFullscreen">true</item>
например:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/orange</item>
<item name="colorPrimaryDark">@android:color/holo_orange_dark</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>
просто сделайте это в файле манифеста в теге действия
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
в моем случае все работает отлично. Увидеть в logcat. Возможно, logcat покажет что-то, что может помочь вам решить вашу проблему
в любом случае вы можете попробовать сделать это программно:
public class ActivityName extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// remove title
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
}
}
Обновление Ответа добавил android:windowIsTranslucent
в случае, если у вас белый экран в начале деятельности
просто создайте новый стиль в ценностей/стили.в XML
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<!-- to hide white screen in start of window -->
<item name="android:windowIsTranslucent">true</item>
</style>
</resources>
из AndroidManifest.xml добавить стиль к вашей деятельности
android:theme="@style/AppTheme"
такой
<activity android:name=".Splash"
android:theme="@style/AppTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
на onCreate
вызов
requestWindowFeature(Window.FEATURE_NO_TITLE); // for hiding title
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
недавно у меня была точно такая же проблема, и я также воспользовался следующим сообщением (в дополнение к решению Rohit5k2 выше):
Шаг 3:MainActivity
выходит Activity
вместо ActionBarActivity
(Как упоминалось в Rohit5k2). Положить NoTitleBar
и Fullscreen
элементы темы в правильные места в AndroidManifest.xml
файл также очень важно (взгляните на Шаг 4).
вы можете использовать следующие коды, чтобы иметь полную страницу в Андроид
Шаг 1: Сделать тему в стилях.раздел xml
<style name="AppTheme.Fullscreen" parent="AppTheme">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
Шаг 2: Добавить тему на AndroidManifest.в XML
<activity
android:name=“.Activity”
android:theme="@style/AppTheme.Fullscreen"/>
Шаг 3: раздел кодов Java
например, вы можете добавить следующие коды в метод onCreate ().
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);