Android如何去掉顶部标题栏

来源:互联网 发布:赌球外围软件 编辑:程序博客网 时间:2024/06/05 07:38

之前使用eclipse的时候一直使用的去掉顶部标题栏有三种方法:

1、在Java文件中进行动态去除标题。该方法就是在代码setContentView前面添加this.requestWindowFeature(Window.FEATURE_NO_TITLE),


代码:

@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    this.requestWindowFeature(Window.FEATURE_NO_TITLE);    setContentView(R.layout.activity_main);    init();}

不过本人不推荐,因为这种方法在处理能力差的机子上可能有延迟效果,十分难看。


2、在xml中引用没有标题的主题。即是在AndroidManifest.xml文件中声明activity的时候继承没有标题的主题;

代码:

<!--登录--><activity android:name=".activity.LoginActivity"    android:screenOrientation="portrait"    android:theme="@android:style/Theme.Light.NoTitleBar"    android:windowSoftInputMode="adjustUnspecified|stateHidden" />

3、在style中定义没有标题,然后在AndroidManifest.xml文件中声明activity的时候将style作为主题引入:


代码:

定义style:

<style name="notitle">    <item name="android:windowNoTitle">true</item></style>

在AndroidManifest.xml中引入:

<!--登录--><activity android:name=".activity.LoginActivity"    android:screenOrientation="portrait"    android:theme="@style/notitle"    android:windowSoftInputMode="adjustUnspecified|stateHidden" />

4、定义继承主题的style取消标题栏。在Android studio中部分activity继承了AppCompatActivity,这个时候可能前三种方法都有瑕疵。因为继承了AppCompatActivity的必须要继承AppCompat类的主题。该方法步骤和方法3一样,先定义一个style,然后在AndroidManifest.xml中导入该style作为主题。

代码:

style:

<style name="NoTitleTheme" parent="Theme.AppCompat.Light.NoActionBar">    <item name="android:windowNoTitle">true</item>    <!--<item name="android:windowFullscreen">true</item>--></style>

AndroidManifest.xml:

<!--首页--><activity android:name=".activity.MainActivity"    android:screenOrientation="portrait"    android:theme="@style/NoTitleTheme"    android:windowSoftInputMode="adjustUnspecified|stateHidden" />