我了解清单中的这些属性:
android:theme="@android:style/Theme.NoTitleBar"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
可以去掉标题栏。但是,当我修改我的应用程序时,我会经常检查图形布局。当我查看图形布局时,我仍然看到标题栏。我想以一种我在游戏开发过程中不必看到的方式移除标题栏。
简单的方法是把它放在你的onCreate()
:
// Java
getSupportActionBar().hide();
// Kotlin
supportActionBar?.hide()
for Title Bar
requestWindowFeature(Window.FEATURE_NO_TITLE);
for fullscreen
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
Place this after
super.onCreate(savedInstanceState);
but before
setContentView(R.layout.xml);
This worked for me.try this
我能够使用应用到清单中的 app 元素的 App Compatibility 库主题为 Android 2.1 及更高版本的设备执行此操作:
<application
...
android:theme="@style/AppTheme" />
<style name="AppTheme" parent="@style/Theme.AppCompat.Light.NoActionBar">
...
<item name="windowNoTitle">true</item>
<item name="android:windowNoTitle">true</item>
</style>
注意:您需要com.android.support:appcompat-v7
在 build.gradle 文件中包含该库
我想介绍两个选项:
1:添加getSupportActionBar().hide();到您的 onCreate 方法。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportActionBar().hide();
setContentView(R.layout.activity_main);
}
2:另一种选择是更改应用程序的样式。查看“app->res->values”中的styles.xml并更改
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
就用这个
getSupportActionBar().hide();
如果您使用 AppCompat v7、v21
getSupportActionBar().setDisplayShowTitleEnabled(false);
使用它从您的 Androidmainfest.xml 中的 android 应用程序中删除标题
android:theme="@android:style/Theme.NoTitleBar"
或者你可以在你的活动中使用它
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
如果你有import android.support.v7.app.ActionBarActivity;
并且你的类扩展ActionBarActivity
了,那么在你的OnCreate
:
android.support.v7.app.ActionBar AB=getSupportActionBar();
AB.hide();
在图形编辑器中,确保您在顶部选择了您的主题。
很明显,但App Theme
设计中的选择只是为了在布局编辑时显示一个草稿,与手机中的实际应用程序无关。
仅仅改变manifest文件( AndroidManifest.xml
)是不够的,因为需要预定义的样式是styles.xml
. 更改布局文件也是无用的。
所有建议的解决方案对我Java
来说Kotlin
都失败了。其中一些使应用程序崩溃。如果从来没有人(像我一样)在应用程序中使用标题栏,那么静态解决方案会更干净。
对我来说,2019 年唯一有效的解决方案(Android Studio 3.4.1)是:
在styles.xml
(在 app/res/values 下)添加以下行:
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
之后AndroidManifest.xml
(在应用程序/清单下)
代替
android:theme="@style/AppTheme">
经过
android:theme="@style/AppTheme.NoActionBar">
在您res/values/styles.xml
的现代 Android Studio 项目(2019/2020)中,您应该能够更改默认父主题
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
我更进一步,让它看起来像这样
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.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:windowFullscreen">true</item>
</style>
这是基于从 Microsoft PWA builder https://www.pwabuilder.com/生成的代码
android中的标题栏称为Action bar。因此,如果您想从任何特定活动中删除它,请转到 AndroidManifest.xml 并添加主题类型。比如android:theme="@style/Theme.AppCompat.Light.NoActionBar"
。
例子:
<activity
android:name=".SplashActivity"
android:noHistory="true"
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
在图形布局中,您可以选择工具栏上的主题。(看起来像星星的那个)。
选择NoTitleBar
并玩得开心。
只需将活动设计视图中的主题更改为 NoActionBar就像这里的一样
使用此从顶部删除标题和图像。
前:
setContentView(R.layout.actii);
写下这段代码:
requestWindowFeature(Window.FEATURE_NO_TITLE);