【发布时间】:2013-12-27 03:48:20
【问题描述】:
我正在为最愚蠢的事情苦苦挣扎(我想我只是不习惯 Xamarin 设计器)。
如何删除我的应用程序的标题?它不断出现,但不在我的布局源中。
我想删除这整个部分,但不知道怎么做。
在 C# Winforms 或 WPF 中,我会选择整个窗口或屏幕,然后访问主窗口属性,但在这种情况下,我只能选择我添加的控件(按钮和标签),而不是整个屏幕或标题。
【问题讨论】:
标签: c# xamarin.android xamarin
我正在为最愚蠢的事情苦苦挣扎(我想我只是不习惯 Xamarin 设计器)。
如何删除我的应用程序的标题?它不断出现,但不在我的布局源中。
我想删除这整个部分,但不知道怎么做。
在 C# Winforms 或 WPF 中,我会选择整个窗口或屏幕,然后访问主窗口属性,但在这种情况下,我只能选择我添加的控件(按钮和标签),而不是整个屏幕或标题。
【问题讨论】:
标签: c# xamarin.android xamarin
在OnCreate 方法中写在SetContentView 之后:
ActionBar.Hide();
【讨论】:
据我记得,在您的活动类中,您必须删除那里的属性标签,这样它就不会有标题。我目前没有 Xamarin,但我很确定类名上方有一个属性来设置标题。
来自 phadaphunk 的更新:
从清单文件中删除 android:theme="@android:style/Theme.NoTitleBar" 将完全删除标题
更新
NavigationPage.SetHasNavigationBar(this, false);
在我写答案的时候,现在给出的最好的答案都可用于框架。如果我错了,请纠正我,但我不记得在撰写本文时这些 API 可用。
【讨论】:
NavigationPage.SetHasNavigationBar(this, false);的回答似乎更好
NavigationPage.SetHasNavigationBar(this, false);在哪里??
在我看来最简单的选项是编辑 Activity 属性并使用 default 样式(而不是 Mina Fawzy 建议的自定义样式):
[Activity(Theme = "@android:style/Theme.DeviceDefault.NoActionBar", ...)]
如果您也想删除状态栏,请使用
[Activity(Theme = "@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen", ...)]
【讨论】:
Title 主题中不要更改,它会接受以前版本的 ui。
OnCreate之后
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle); //
Window.RequestFeature(WindowFeatures.NoTitle); //This will Hide the title Bar
}
或者,您可以添加
NavigationPage.SetHasNavigationBar(this, false);
给你的构造函数
【讨论】:
NavigationPage.SetHasNavigationBar(this, false);
是最好的方法。
【讨论】:
您可以通过创建自定义样式来实现这一点
<style name="AppTheme" parent="AppTheme.Base"/>
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<!-- colorPrimary is used for the default action bar background -->
<item name="colorPrimary">@color/colorPrimary</item>
<!-- colorPrimaryDark is used for the status bar -->
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<!-- colorAccent is used as the default value for colorControlActivated,
which is used to tint widgets -->
<item name="colorAccent">@color/colorAccent</item>
</style>
以及如何在您的活动中使用它
[Activity(Label = "ActivityLabel", Theme = "@style/AppTheme")]
希望对你有帮助
【讨论】:
在我的情况下,我不需要任何标题,我只想要一个带有一些选项卡的 ActionBar,所以我写道:
RequestWindowFeature(Android.Views.WindowFeatures.ActionBar);
SetContentView 之后:
ActionBar.Title = "";
【讨论】:
这对我有用:SupportActionBar.SetDisplayShowTitleEnabled(false);
【讨论】:
ActionBar 只是SupportActionBar.Hide(),没有其他选项对我有用。 Activity 还具有 ActionBar 属性,在我的情况下为 null 可能是因为我的 Activity 来自 AppCompatActivity
要删除标题栏,我只是更改了“Style.xml”文件:
将此行添加到其他项目下方:
<item name="windowNotitle">true</item>
这将从“AppTheme”中删除标题栏,您还可以在其旁边创建一个自定义主题并将其设置在您的活动中。
【讨论】:
[2021]您可以设置主题如下:
[Activity(Label = "@string/app_name", Theme = "@style/Theme.AppCompat.Light.NoActionBar", MainLauncher = true)]
【讨论】:
只需将其添加到应用样式(Resources/values/styles.xml):
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
应该是这样的:
<resources>
<style name="AppTheme" parent="Theme.MaterialComponents.Light.DarkActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
</resources>
【讨论】:
很多预期的答案!
但是,以防万一它仍然无法正常工作,因为假设您正在设置自定义视图。试试ActionBar.Title = null;
【讨论】:
SupportActionBar.Hide(); 为我隐藏了整个标题栏。
【讨论】: