我想为我的一些活动隐藏标题栏。问题是,我应用了一个风格,我所有的活动,因此我不能简单地设置主题@android:style/ theme . notitlebar。

使用NoTitleBar主题作为我的样式的父主题将从我的所有活动中删除标题栏。

我可以在某个地方设置无标题样式的项目吗?


当前回答

我正在使用Android Xamarin,这对我来说很有效。

SupportActionBar.Hide();
SetContentView(Resource.Layout.activity_main);

其他回答

我正在使用Android Xamarin,这对我来说很有效。

SupportActionBar.Hide();
SetContentView(Resource.Layout.activity_main);

标题栏可以用两种方式删除,如开发者Android页面所述:

在manifest.xml文件中:

如果你想为应用程序中的所有活动删除它,请在应用程序中添加以下内容: <应用android:主题= " @android:风格/ Theme.Black.NoTitleBar”> 或用于某一特定活动: <活动android:主题= " @android:风格/ Theme.Black.NoTitleBar”>

这是完整代码的样子。注意android.view.Window的导入。

package com.hoshan.tarik.test;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;

public class MainActivity extends Activity {

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

如果你替换了DarkActionBar的定义,你只需要改变style .xml中的AppTheme样式

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

对NoActionBar

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

在androidmanifest .xml中定义的AppTheme

在这篇文章中提到了它,但没有人明确地解决它,所以这可能会节省人们一些时间。如果你像我一样,有多个类扩展了一个扩展ActionBarActivity的根类,可能不会立即明显地尝试将该活动设置为NoTitleBar/NoActionBar会抛出一个错误,具体来说:

“你需要使用一个主题。AppCompat主题(或后代)

你可以修改扩展到活动。