我可以用这个代码把动作条隐藏在蜂巢中:
getActionBar().hide();
但是当键盘打开,用户复制粘贴任何东西时,操作栏会再次显示。 如何永久禁用操作栏?
通过在清单中设置活动主题,
<activity android:theme="@android:style/Theme.NoTitleBar.Fullscreen" .... >
如果你正在使用 Theme.Holo.Light,并且想在3.2版本的设备上使用 Theme.Holo.Light.NoActionBar的变体,你可以在你的 styles.xml上添加这个:
Theme.Holo.Light
Theme.Holo.Light.NoActionBar
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" ... />
<application . . android:theme="@android:style/Theme.Holo.Light.NoActionBar" . >
也许这个能帮到你
我发现的最好的方法是为我的项目中的所有活动创建一个 SuperClass,在它的 onCreate ()中调用下面的代码行,这样可以给出定制的主题,而不需要动作条
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
这招对我很管用。这种方法的唯一问题是,在启动应用程序(不是活动,而是完整的应用程序)时,您会看到动作条,时间只有几分之一秒。
另一个有趣的解决方案是,在删除操作栏时保留 ViewPager,这种方案使用样式作为 show
<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>
这是大多数在 android 中的拨号器应用程序显示没有操作栏的 ViewPager 的方式。
档号: https://github.com/CyanogenMod/android_packages_apps_Dialer
使用 Android Studio 默认生成的 Activity 超类是 ActionBarActivity,然后,其他响应中的所有解决方案都不能正常工作。要解决这个问题,只需改变超类:
ActionBarActivity
public class xxxActivity extends ActionBarActivity{
致:
public class xxxActivity extends Activity {
不要使用全息主题和行动栏将消失。 这段代码适用于 API 8 + ,支持 lib v7:
<style name="NoActionBar" parent="@style/Theme.AppCompat.Light"> <item name="android:windowNoTitle">true</item> </style>
为你的活动设定主题:
在你的活动课上。
它甚至在扩展 ActionBarActivity 时也能工作。
我在 onCreate 函数中使用以下代码:
ActionBar actionBar = getSupportActionBar(); actionBar.hide();
来源: Https://developer.android.com/guide/topics/ui/actionbar.html
在 setContentView之前,在 onCreate方法中键入以下代码:
setContentView
onCreate
requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 0);
我使用这种方法:
在清单里,在你的活动标签里:
android:label="@string/empty_string"
在 strings.xml 中:
<string name="empty_string">""</string>
这样可以保留标题中的 ActionBar (或 Toolbar) ,但是创建 Activity 时标题会自动为空。
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my); getSupportActionBar().hide(); }
在 Android 中有两种禁用 ActionBar的方法。
ActionBar
requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main);
在 onCreate 函数中添加以下代码
然后导入 android.support. v7.app. ActionBar
奇怪的是,当我在运行4.4.2(API 19)的 Nexus7上构建时,这些都不起作用。大多数情况下,至少在最新版本的 Android Studio (1.2.1.1)中,在创建了一个空白活动应用程序之后:
主题 = “@style/AppTheme”
是在 application 元素中,而不是 activity 元素中。如果我删除上述代码或试图将其更改为:
Android: Theme = “@android: style/Theme. Holo. Light.NoActionBar”
应用程序不会运行... ... 如果发生这种情况,只需进入 styles.xml 文件(res > values > styles.xml)并添加。NoTitleBar 到父代码块的末尾,如下所示:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"></style>
不需要更改 AndroidManifest 文件。
这里有一个快速的解决方案。
找到 styles.xml 并将基本应用程序主题更改为“ Theme. AppCompat.NoActionBar”,如下所示。
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar"> <!-- Customize your theme here. --> </style>
在你的清单上试试这个
<activity android:name=".MainActivity" android:theme="@android:style/Theme.Holo.NoActionBar" android:label="@string/app_name" >
如果你想得到没有动作栏和标题的全屏。
在 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>
并使用 Manif.xml 的样式。
android:theme="@style/AppTheme.NoActionBar"
通过将 styles.xml文件中默认主题的名称更改为:
<style name="MyTheme" parent="android:Theme.Material.Light.NoActionBar">
然后把主题从 main_activity.xml下拉菜单改成你所谓的主题。
main_activity.xml
下面是永久隐藏操作栏的步骤:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
现在用包含 “ NoActionBar”。
一。您还可以通过切换到 activity _ main.xml 的设计选项卡,然后尝试 UI 的主题下拉列表中提供的每个主题来检查主题的外观。
如果您的 主要活动延伸 AppCompatActivity,请确保 您使用 AppCompat 主题
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);
我更愿意发布一个 Designer 方法来解决这个问题,这将使设计与业务逻辑分开:
第一步。在(res-> value-> styles.xml)中创建新样式: 基本上,它是使用不同的父级-father = “ 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 中,将这个主题添加到您想要的活动中: 例如,我想要没有操作栏的主要活动,所以添加如下:
<activity android:name=".MainActivity" android:theme="@style/MarkitTheme">
在尝试了很多事情之后,这对我来说是最好的解决方案。
转到 styles.xml 将这个 Dark ActionBar 更改为 < strong > NoActionBar
style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
您可以简单地强制隐藏操作栏:
ActionBar actionbar = getSupportActionBar(); actionbar.hide();
只要使用您的默认主题,它将工作良好,如果全屏幕设置
如果你只想要一个没有动作条的主题,你可以使用“ 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 主题中:)
在 Res-> value-> styles.xml下面
改变
敬
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
在你的 activity_main.xml,你可以从那里调整 排队:
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”主题。
希望我帮到你了。
在 styles.xml文件中使用:
<style name="MyTheme" parent="@style/Theme.AppCompat.Light.NoActionBar"> <item name="android:windowActionBar">false</item> <item name="android:windowNoTitle">true</item>
一些答案已经写了,如果你没有找到 styles.xml文件在 res>values,然后你可以这样做,到 res>values>themes>themes.xml这里你需要添加这两行内的样式
res>values
res>values>themes>themes.xml
<item name="android:windowFullscreen">true</item> <item name="windowNoTitle">true</item>
Xml 文件
<style name="Theme.FurnitureApp.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> <item name="android:windowFullscreen">true</item> </style>
在 setContent {}方法之前编写以下代码
requestWindowFeature(Window.FEATURE_NO_TITLE); window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 0)