Android-在XML中,如何给一个已经有自定义主题的Activity隐藏标题栏?

小组事务管理 小组事务管理 主题:974 回复:1955

Android-在XML中,如何给一个已经有自定义主题的Activity隐藏标题栏?

甜柠檬 发布于 2017-08-05 字数 261 浏览 1132 回复 6

我想要给我的一些activitys隐藏标题栏。问题是我给我所有的activitys应用了一个样式,因此我不能简单的把内容设置成 @android:style/Theme.NoTitleBar.
给我的样式使用NoTitleBar内容作为父类将移除标题栏里太多的activitys。我在哪里可以设置一个没有标题样式的项目?

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(6

灵芸 2017-10-16 6 楼

很简单,只需要在你需要隐藏标题栏的Activity的onCreate函数中(具体位置是在setContentView之前)调用这个函数:requestWindowFeature(Window.FEATURE_NO_TITLE)函数即可,这样只会把添加的那个Activity的标题栏隐藏而已!

注:当然还有更牛逼的一个函数:就是你可以操作标题栏,就是把标题栏设置为你自己喜欢的样式,这个函数是setFeatureInt,这个函数得在onCreate函数后调用,因为它是在setContentView函数产生标题栏后对其进行的改变,与requestWindowFeature有着截然不同的效果。

晚风撩人 2017-10-14 5 楼

你可以在你的父类里面添加一个控制标题栏是否显示的方法,然后再子类里面重写或者调用这个方法。

protected void isNoTitleBar(boolean flag)
{
if(flag)
{
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
requestWindowFeature(Window.FEATURE_NO_TITLE);
}
}

夜无邪 2017-10-14 4 楼

在不需要标题栏的activity的oncreate方法中加入requestWindowFeature(Window.FEATURE_NO_TITLE);

@Override
protected void onCreate(Bundle arg0) {
super.onCreate(arg0);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main_activity);
}

要是设置所有的activity都没标题,你可以建一个这样的baseActivity,其他的activity都继承这个baseActivity。

清晨说ぺ晚安 2017-09-05 3 楼

 package com.android.tutor;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
public class OpenGl_Lesson1 extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//无title
requestWindowFeature(Window.FEATURE_NO_TITLE);
//全屏
getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN ,
WindowManager.LayoutParams. FLAG_FULLSCREEN);

    setContentView(R.layout.main);
}

}

请参看:http://blog.csdn.net/android_tutor/article/details/5553632

甜柠檬 2017-09-02 2 楼

在不想看到标题栏的Activity的 onCreate 里面添加一行,如下图:

批量的话,就自己定义个 style.xml 然后在 AndroidManifest 里面加载就是了

祝好,
斑驳敬上

瑾兮 2017-08-15 1 楼

1、无title的Activity,你可以在manifest文件中给Activity设置,android:theme="@android:style/Theme.NoTitleBar"

2、给Activity加一个基类用代码设置其无标题, this.requestWindowFeature(Window.FEATURE_NO_TITLE);

若是Activity类太多,可以使用eclipse替换文件的方式咯。也就一分钟不到的事。