Я могу скрыть панель действий в сотах с помощью этого кода:
getActionBar().hide();
Но когда клавиатура открывается, а пользователь копирует-вставляет что-либо, панель действий снова отображается. Как отключить панель действий навсегда?
Я могу скрыть панель действий в сотах с помощью этого кода:
getActionBar().hide();
Но когда клавиатура открывается, а пользователь копирует-вставляет что-либо, панель действий снова отображается. Как отключить панель действий навсегда?
Задав тему активности в манифесте,
<activity
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
....
>
Если вы используете Theme.Holo.Light
и хотите использовать вариант Theme.Holo.Light.NoActionBar
на устройствах до 3.2, вы можете добавить это в свой styles.xml
:
<style name="NoActionBar" parent="@android:style/Theme.Holo.Light">
<item name="android:windowActionBar">false</item>
<item name="android:windowNoTitle">true</item>
</style>
а затем установите его как тему своей деятельности:
<activity android:theme="@style/NoActionBar" ... />
Я использую следующий код внутри моей функции onCreate:
ActionBar actionBar = getSupportActionBar();
actionBar.hide();
Источник: https://developer.android.com/guide/topics/ui/actionbar.html
<application
.
.
android:theme="@android:style/Theme.Holo.Light.NoActionBar"
. >
возможно, это поможет вам
С суперклассом Activity, установленным по умолчанию для Android Studio, является ActionBarActivity
, и тогда ни одно из решений в других ответах не работает. Чтобы решить просто изменить суперкласс:
public class xxxActivity extends ActionBarActivity{
в
public class xxxActivity extends Activity {
Лучший способ найти пользовательские темы и панель действий - создать SuperClass для всех действий в моем проекте и в нем onCreate() вызвать следующую строку кода -
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
Он всегда работает для меня. Единственная проблема в этом подходе - вы увидите панель действий на долю секунды при запуске приложения (не в действии, в полном приложении).
Если вы хотите получить полный экран без действийBar и Title.
Добавьте его в style.xml
<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>
и используйте стиль в manifest.xml.
android:theme="@style/AppTheme.NoActionBar"
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
getSupportActionBar().hide();
}
Перейти к styles.xml Измените этот DarkActionBar на NoActionBar
style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
Не используйте тему Голо и панель действий исчезнет. Этот код работает для меня на API 8+, с поддержкой lib v7:
<style name="NoActionBar" parent="@style/Theme.AppCompat.Light">
<item name="android:windowNoTitle">true</item>
</style>
задайте эту тему для своей деятельности:
<activity android:theme="@style/NoActionBar" ... />
и в вашем классе активности.
Он работает, даже если он расширяет ActionBarActivity.
Если вам просто нужна тема без панели действий, вы можете использовать вариант "NoActionBar", например. если ваша базовая тема ниже
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
то вы можете использовать
<style name="AppThemeNoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
Но если вы хотите сохранить свойства своей основной темы, то есть AppTheme, вы можете сделать это ниже
<style name="AppThemeNoActionBar" parent="AppTheme">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
Вы можете сохранить все свойства базовой темы таким образом и не должны явно добавлять их в тему NoActionBar:)
Это быстрое решение.
Вы найдете styles.xml и измените тему базового приложения на "Theme.AppCompat.NoActionBar", как показано ниже.
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<!-- Customize your theme here. -->
</style>
Вы можете просто скрыть панель действий:
ActionBar actionbar = getSupportActionBar();
actionBar.hide();
Просто используйте свою тему по умолчанию.
Под res → values → styles.xml
+ Изменить
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
к
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
Введите этот код в свой метод onCreate
до setContentView
:
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 0);
Ниже приведены шаги для скрытия панели действий:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
.Теперь замените родителя на любую другую тему, которая содержит "NoActionBar" в его названии.
а. Вы также можете проверить, как выглядит тема, перейдя на вкладку дизайна в файле activity_main.xml, а затем опробовать каждую тему, представленную в раскрывающемся списке темы пользовательского интерфейса.
Если ваша MainActivity расширяет AppCompatActivity, убедитесь, что вы используете тему AppCompat.
Я хотел бы опубликовать скорее подход Designer к этому, это будет держать дизайн отдельно от вашей бизнес-логики:
Шаг 1. Создайте новый стиль в (res- > values- > styles.xml): в основном это копия вашей общей схемы с разными родителями - parent = "Theme.AppCompat.Light.NoActionBar"
<!-- custom application theme. -->
<style name="MarkitTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimary</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:windowNoTitle">true</item>
</style>
Шаг 2. В вашем AndroidManifest.xml добавьте эту тему в нужную вам активность: например. Я хочу, чтобы мое основное действие без action-bar, так что добавьте это, как показано ниже:
<activity android:name=".MainActivity"
android:theme="@style/MarkitTheme">
Это лучшее решение для меня после многих попыток.
Убедитесь, что вы создали новую тему, изменив имя темы по умолчанию в файле styles.xml
на:
<style name="MyTheme" parent="android:Theme.Material.Light.NoActionBar">
а затем измените тему из раскрывающегося списка под main_activity.xml
на то, что вы назвали своей темой.
Еще одно интересное решение, в котором вы хотите сохранить ViewPager при удалении панели действий, - это стиль, отображаемый
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:windowActionBarOverlay">true</item>
<item name="android:actionBarStyle">@style/NoActionBarStyle</item>
<item name="android:windowContentOverlay">@null</item>
</style>
<style name="NoActionBarStyle" parent="android:Widget.Holo.ActionBar">
<item name="android:backgroundSplit">@null</item>
<item name="android:displayOptions"></item>
</style>
Таким образом, большинство приложений Dialer в android показывают ViewPager без панели действий.
Ссылка: https://github.com/CyanogenMod/android_packages_apps_Dialer
Существует два способа отключения ActionBar
в Android.
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
в функции onCreate добавьте следующий код
ActionBar actionBar = getSupportActionBar();
actionBar.hide();
и просто импортируйте файл android.support.v7.app.ActionBar
попробуйте это в своем манифесте
<activity
android:name=".MainActivity"
android:theme="@android:style/Theme.Holo.NoActionBar"
android:label="@string/app_name" >
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
android.support.v7.app.ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.hide();
}
setContentView(R.layout.activity_main);
Я использую это решение:
в манифесте, внутри вашего тега активности:
android:label="@string/empty_string"
и в strings.xml:
<string name="empty_string">""</string>
Таким образом, вы сохраняете ActionBar (или панель инструментов) с заголовком, но когда Activity, если созданный заголовок, автоматически пуст.
Как ни странно, ни один из них не работал у меня, когда я работал над Nexus 7 с 4.4.2 (API 19). По большей части, по крайней мере, с последней версией Android Studio (1.2.1.1) после создания пустого приложения активности:
Android: тема = "@стиль/AppTheme"
находится в элементе приложения, а не в элементе активности. Если я удалил вышеуказанный код или попытался изменить его на:
Android: тема = "@андроид: стиль /Theme.Holo.Light.NoActionBar"
приложение не будет запускаться... если это происходит с вами, просто зайдите в свой файл styles.xml(res > values > styles.xml) и добавьте .NoTitleBar в конец родителя, как этот блок
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"></style>
Никаких изменений в файле AndroidManifest не требуется.
В вашем activity_main.xml
вы можете отрегулировать оттуда
в строке:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
.......
android:theme="@style/Theme.Design.Light.NoActionBar"
.......
">
Иногда, когда вы видите подобные вещи, нажмите здесь, здесь вы можете выбрать тему "noActionBar".
Надеюсь, я помог тебе.