如何永久禁用操作栏
我可以使用以下代码将操作栏隐藏在蜂窝中:
getActionBar().hide();
但是当键盘打开并且用户复制粘贴任何内容时,操作栏会再次显示。 如何永久禁用操作栏?
I can hide the action bar in honeycomb using this code:
getActionBar().hide();
But when the keyboard opens, and user copy-pastes anything, the action bar shows again.
How can I disable the action bar permanently?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(29)
如果您正在使用
Theme.Holo.Light
并希望在 3.2 之前的设备上使用Theme.Holo.Light.NoActionBar
变体,您可以将其添加到您的样式中.xml
:然后将其设置为您的活动的主题:
If you are using
Theme.Holo.Light
and want to use theTheme.Holo.Light.NoActionBar
variant on pre 3.2 devices you can add this to yourstyles.xml
:and then set it as your activity's theme:
通过在Manifest中设置活动主题,
By setting activity theme in Manifest,
我在 onCreate 函数中使用以下代码:
来源:
https://developer.android.com/guide/topics/ui/actionbar.html
I use the following code inside my onCreate function:
Source:
https://developer.android.com/guide/topics/ui/actionbar.html
也许这对你有帮助
maybe this help you
Android Studio 默认生成的 Activity 超类是 ActionBarActivity,然后其他响应中的解决方案都不起作用。要解决这个问题,只需将 superclass: 更改
为:
With the Android Studio default generated Activity superclass is
ActionBarActivity
and then, none of solution in other responses works. To solve just change superclass:to:
如果你想全屏,没有actionBar和Title。
将其添加到 style.xml 中
并使用 manifest.xml 中的样式。
If you want to get full screen without actionBar and Title.
Add it in style.xml
and use the style at manifest.xml.
转到 styles.xml
将此 DarkActionBar 更改为 NoActionBar
Go to styles.xml
Change this DarkActionBar to NoActionBar
我发现提供自定义主题且没有操作栏的最佳方法是为我的项目中的所有活动创建一个超类,并在它的 onCreate() 中调用以下代码行 -
它总是对我有用。这种方法的唯一问题是,启动应用程序时您将在几分之一秒内看到操作栏(不是活动,而是完整的应用程序)。
The best way I found which gives custom themes and no action bar, is to create a SuperClass for all activities in my project and in it's onCreate() call the following line of code -
It always work for me. The only issue in this approach is, you'll see action bar for a fraction of second when starting the app (Not the activity, the complete app).
您可以简单地强制隐藏操作栏:
只需使用默认主题,如果设置为全屏,效果会很好
You can force hide the action bar simply:
Just use your default theme, it will work good if fullscreen is set
不要使用 Holo 主题,操作栏将会消失。
这段代码适用于 API 8+,支持 lib v7:
为您的活动设置主题:
并在您的活动类中。
即使它扩展了 ActionBarActivity,它也能工作。
Don't use Holo theme and the Actionbar will disappear.
This code is working for me on API 8+, with support lib v7:
set that theme for your activity:
and in your activity class.
It works even when it extends ActionBarActivity.
如果您只想要一个没有操作栏的主题,您可以使用“NoActionBar”变体,例如。如果您的基本主题如下所示
,那么您可以使用
但是如果您想保留主主题的属性,即AppTheme,您可以按如下方式执行
您可以通过这种方式保留基本主题的所有属性,而不必显式添加它们在您的 NoActionBar 主题中:)
If you just want a theme with no action bar you can use 'NoActionBar' variant, for eg. if your base theme is as below
then you can use
But if you want to retain the properties of your main theme i.e. AppTheme you can do as below
You can retain all the properties of your base theme this way and don't have to explicitly add them in your NoActionBar theme :)
在res -> 下value ->styles.xml
更改
至
Under res -> values ->styles.xml
Change
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
To
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
这是一个快速解决方案。
您找到 styles.xml 并将基本应用程序主题更改为“Theme.AppCompat.NoActionBar”,如下所示。
Heres a quick solution.
You find styles.xml and you change the base application theme to "Theme.AppCompat.NoActionBar" as shown below.
在
setContentView
之前将此代码键入到onCreate
方法中:Type this code to your
onCreate
method beforesetContentView
:以下是永久隐藏操作栏的步骤:
类似于
。
现在将父主题替换为包含以下内容的任何其他主题
名称中的“NoActionBar”。
a.您还可以通过切换到 Activity_main.xml 的设计选项卡,然后尝试 UI 的主题下拉列表中提供的每个主题来检查主题的外观。
如果您的 MainActivity 扩展了 AppCompatActivity,请确保
您使用 AppCompat 主题。
Below are the steps for hiding the action bar permanently:
similar to
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
.Now replace the parent with any other theme that contains
"NoActionBar" in its name.
a. You can also check how a theme looks by switching to the design tab of activity_main.xml and then trying out each theme provided in the theme drop-down list of the UI.
If your MainActivity extends AppCompatActivity, make sure
you use an AppCompat theme.
我想发布一个设计器方法来解决这个问题,这将使设计与您的业务逻辑分开:
步骤 1. 在 (res->values->styles.xml) 中创建新样式:基本上它是您整体的副本具有不同父级的方案-parent =“Theme.AppCompat.Light.NoActionBar”
第2步:在您的AndroidManifest.xml中,将此主题添加到您想要的活动中:例如,我希望我的主要活动没有操作栏,因此添加如下所示:
这在尝试了很多事情之后,这对我来说是最好的解决方案。
I would like to post rather a Designer approach to this, this will keep design separate from your business logic:
Step 1. Create new style in (res->values->styles.xml) : Basically it is copy of your overall scheme with different parent - parent="Theme.AppCompat.Light.NoActionBar"
Step 2: In your AndroidManifest.xml, add this theme to the activity you want in: e.g. I want my main activity without action-bar so add this like below:
This is the best solution for me after trying a lot of things.
在 onCreate 函数中添加以下代码
并导入 android.support.v7.app.ActionBar
in the onCreate function add the following code
and just import android.support.v7.app.ActionBar
确保通过将
styles.xml
文件中的默认主题名称更改为:然后从
main_activity.xml
下的下拉列表中更改主题 来创建新主题code> 到你所谓的主题。Make sure you create a new theme by changing the name of the default theme in the
styles.xml
file to:and than change the theme from the drop-down under your
main_activity.xml
to whatever you called your theme.在
styles.xml
文件中使用它:Use this in
styles.xml
file:另一个有趣的解决方案是,您希望在删除操作栏的同时保留 ViewPager ,其样式为 show
这是 Android 中大多数拨号器应用程序在没有操作栏的情况下显示 ViewPager 的方式。
参考:https://github.com/CyanogenMod/android_packages_apps_Dialer
Another interesting solution where you want to retain the ViewPager while removing the action bar is to have a style as show
This is the way most of the Dialer applications in android is showing the ViewPager without the action bar.
Ref: https://github.com/CyanogenMod/android_packages_apps_Dialer
在你的清单中尝试这个
try this in your manifist
在 Android 中禁用
ActionBar
有两种方法。There are two ways to disable
ActionBar
in Android.我使用这个解决方案:
在清单中,在您的活动标记内:
和在 strings.xml 中:
这样您就可以将 ActionBar (或工具栏)与标题保持在一起,但是当创建 Activity 时,标题会自动为空。
I use this solution:
in the manifest, inside your activity tag:
and in strings.xml:
This way you keep ActionBar (or Toolbar) with the title, but when Activity if created the title is automatically empty.
奇怪的是,当我在运行 4.4.2 (API 19) 的 Nexus 7 上构建时,这些都不起作用。在大多数情况下,至少在使用最新版本的 Android Studio (1.2.1.1) 创建空白活动应用程序后,:
位于应用程序元素中,而不是活动元素中。如果我删除上面的代码或尝试将其更改为:
应用程序将无法运行...如果这种情况发生在您身上,只需进入您的 styles.xml 文件(res > value > styles .xml)并将 .NoTitleBar 添加到父级的末尾,如下块:
不需要对 AndroidManifest 文件进行任何更改。
Strangely enough, none of these worked for me when building on a Nexus 7 running 4.4.2 (API 19). For the most part, at least with the latest version of Android Studio (1.2.1.1) after creating a blank activity app, the:
is in the application element, not the activity element. If I removed the above code or tried to change it to:
the app won't run...if this is happening to you, just go into your styles.xml file (res > values > styles.xml) and add the .NoTitleBar to the end of the parent like this block:
No changes to the AndroidManifest file are needed.
在您的
activity_main.xml
中,您可以从那里进行调整行中:
有时当你看到这样的东西点击这里,你可以从这里选择“noActionBar”主题。
希望我对你有帮助。
In your
activity_main.xml
, you can adjust from therein the line:
Sometimes when you can see things like this Click here, You can select from here the "noActionBar" theme.
Hope me helped you.
一些答案已经写好了,如果您在
res>values
中没有找到styles.xml
文件,那么您可以转到res>values>themes>; theme.xml
这里你需要在样式中添加这两行Some answers already been written and if you didn't find
styles.xml
file inres>values
then you can do this go tores>values>themes>themes.xml
here you need to add these two lines inside the styleTheme.xml 文件
在 setContent{ } 方法之前写入以下代码
Theme.xml file
write the below code before setContent{ } method