Удалить заголовок приложения Android
Я знаю, что этот вопрос задавался миллион раз, но какой бы метод я ни использовал, он мне не подходит.
Если я использую
android:theme="@android:style/Theme.NoTitleBar"
в файле манифеста вся тема приложения меняется. Если я поставлю
requestWindowFeature(Window.FEATURE_NO_TITLE);
в действиях onCreate он появляется вскоре после запуска приложения.
Кстати, у меня не выбрана ни одна тема, только с использованием стандартного Android.
9 ответов
Непонятно, что вы подразумеваете под "целой темой изменений приложения". Для устройств уровня API 11+ вам, вероятно, следует использовать @android:style/Theme.Holo.NoActionBar
,
Если вы добавляете тему в приложение, она применяется ко всему приложению.
android:theme="@android:style/Theme.NoTitleBar"
Вы должны добавить его в декларацию деятельности.
<activity
android:name=".YourActivity"
android:theme="@android:style/Theme.NoTitleBar"/>
Чтобы удалить строку заголовка из вашего приложения в Android Studio
- Откройте файл res > values > styles.xml
Замените свой код на:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
Откройте ваш файл style.xml, создайте новый стиль, как показано ниже. Вы выбираете свое имя и устанавливаете родителя, как показано ниже
<style name="your_own_name" parent="Theme.AppCompat.Light.NoActionBar">
</style>
В файле AndroidManifest.xml задайте имя темы для конкретного действия, которое вы не хотите показывать в панели, и все готово.
<activity android:theme ="@style/your_own_name" >
</activity>
Это то, что сработало для меня
android:theme="@style/Theme.AppCompat.NoActionBar">
Для Android 8 и выше поддержка. Используйте это в вашем файле темы приложения. Я изменил мой по умолчанию в res/styles.xml:
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:background">@color/white</item>
</style>
Когда вы создаете новый проект в Android, тогда вы получите тему по умолчанию, примененную к вашему проекту, которая имеет строку заголовка. но если вы хотите удалить или применить какую-то другую тему для всего вашего приложения, вы можете определить, как показано ниже на уровне приложения:
<application
android:name="com.mycomp.myproj.MainApplication"
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.Sherlock" >
но если вы хотите применить какую-то тему только на некоторых конкретных экранах, то вы можете определить, как показано ниже на уровне активности:
<activity
android:name="com.mycomp.myproj.MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme">
Внутри AndroidManifest
<activity
android:name=".activity.HomeMenu"
android:screenOrientation="nosensor"
android:theme="@android:style/Theme.Light.NoTitleBar">
<intent-filter>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
и убедитесь, что ваш класс распространяется на активность
Если вы создали собственную тему в styles.xml, вы можете сделать это:
<style name="AppTheme" parent="android:Theme.Material.Light">
<!-- Override the android colour scheme etc. -->
<item name="android:colorPrimary">@color/color_primary</item>
</style>
Чтобы удалить панель действий и заголовок, добавьте файл styles.xml:
<style name="AppTheme.NoActionBar">
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
</style>
Затем в вашем AndroidManifest.xml вы можете использовать собственную тему с панелью действий или без нее.
<application
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"> <---- With action bar
<activity
android:theme="@style/AppTheme.NoActionBar"> <---- No action bar
<intent-filter>
etc...
Если вы используете Android Studio, вы можете изменить тему в разделе "Дизайн".
Например, перейдите в Activity_main.xml (Дизайн)
В верхней части экрана дизайна находится вкладка "Тема". Идите туда и ищите все темы NoTitleBar.
Может не быть там в версии <3.0