【问题标题】:Xamarin remove app titleXamarin 删除应用程序标题
【发布时间】:2013-12-27 03:48:20
【问题描述】:

我正在为最愚蠢的事情苦苦挣扎(我想我只是不习惯 Xamarin 设计器)。

如何删除我的应用程序的标题?它不断出现,但不在我的布局源中。

我想删除这整个部分,但不知道怎么做。
在 C# Winforms 或 WPF 中,我会选择整个窗口或屏幕,然后访问主窗口属性,但在这种情况下,我只能选择我添加的控件(按钮和标签),而不是整个屏幕或标题。

【问题讨论】:

    标签: c# xamarin.android xamarin


    【解决方案1】:

    OnCreate 方法中写在SetContentView 之后:

    ActionBar.Hide(); 
    

    【讨论】:

    • 谢谢,我今晚试试。
    • 正是我想要的!想隐藏操作栏而不是标题栏,完全忘记了它的名字!
    • 像魅力一样工作。谢谢。
    【解决方案2】:

    据我记得,在您的活动类中,您必须删除那里的属性标签,这样它就不会有标题。我目前没有 Xamarin,但我很确定类名上方有一个属性来设置标题。

    来自 phadaphunk 的更新:

    从清单文件中删除 android:theme="@android:style/Theme.NoTitleBar" 将完全删除标题

    更新

    NavigationPage.SetHasNavigationBar(this, false);
    

    在我写答案的时候,现在给出的最好的答案都可用于框架。如果我错了,请纠正我,但我不记得在撰写本文时这些 API 可用。

    【讨论】:

    • @phadaphunk 正在更新答案。我只回答了我头上的问题。 :P
    • 易卜拉欣NavigationPage.SetHasNavigationBar(this, false);的回答似乎更好
    • 但这NavigationPage.SetHasNavigationBar(this, false);在哪里??
    • 2021 这不再有效。过时了!
    【解决方案3】:

    在我看来最简单的选项是编辑 Activity 属性并使用 default 样式(而不是 Mina Fawzy 建议的自定义样式):

    [Activity(Theme = "@android:style/Theme.DeviceDefault.NoActionBar", ...)]
    

    如果您也想删除状态栏,请使用

    [Activity(Theme = "@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen", ...)]
    

    【讨论】:

    • 彼得·泰勒,你刚刚救了我!!我正在 Xamarin 中进行开发,并且我已经完成了 Xamarin 论坛、Microsoft 等网站上推荐的所有内容,但最终还是您的建议奏效了!这: [Activity(Theme = "@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen", ...)] 对我有用。我将该主题添加到我的 styles.xml 中的父 TAG 中,它最终使我的 SplashScreen 活动完美运行。谢谢!
    【解决方案4】:

    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);
    

    给你的构造函数

    【讨论】:

    • 2021 这行不通了!
    【解决方案5】:
    NavigationPage.SetHasNavigationBar(this, false);
    

    是最好的方法。

    【讨论】:

    • 已经接受的答案也给出了相同的代码..你的答案与接受的答案有什么不同吗?
    • 接受的答案在更新中复制了这个解决方案。
    • 2021 不再工作了
    【解决方案6】:

    您可以通过创建自定义样式来实现这一点

    <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")]
    

    希望对你有帮助

    【讨论】:

    • 2021 不再工作了!
    【解决方案7】:

    在我的情况下,我不需要任何标题,我只想要一个带有一些选项卡的 ActionBar,所以我写道:

    RequestWindowFeature(Android.Views.WindowFeatures.ActionBar);
    

    SetContentView 之后:

    ActionBar.Title = "";
    

    【讨论】:

      【解决方案8】:

      这对我有用:SupportActionBar.SetDisplayShowTitleEnabled(false);

      【讨论】:

      • 如果你想完全隐藏ActionBar 只是SupportActionBar.Hide(),没有其他选项对我有用。 Activity 还具有 ActionBar 属性,在我的情况下为 null 可能是因为我的 Activity 来自 AppCompatActivity
      • 2021 这些解决方案都不起作用!
      【解决方案9】:

      要删除标题栏,我只是更改了“Style.xml”文件:

      将此行添加到其他项目下方:

      <item name="windowNotitle">true</item>
      

      这将从“AppTheme”中删除标题栏,您还可以在其旁边创建一个自定义主题并将其设置在您的活动中。

      【讨论】:

        【解决方案10】:

        [2021]您可以设置主题如下:

        [Activity(Label = "@string/app_name", Theme = "@style/Theme.AppCompat.Light.NoActionBar", MainLauncher = true)]
        

        【讨论】:

          【解决方案11】:

          只需将其添加到应用样式(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>
          

          【讨论】:

            【解决方案12】:

            很多预期的答案!

            但是,以防万一它仍然无法正常工作,因为假设您正在设置自定义视图。试试ActionBar.Title = null;

            【讨论】:

            • 2021 已经过时了
            【解决方案13】:

            SupportActionBar.Hide(); 为我隐藏了整个标题栏。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2019-01-11
              • 1970-01-01
              • 1970-01-01
              • 2011-10-24
              • 2015-01-16
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多