我刚刚开始使用Xamarin。即使在VS 2019中也花了一天时间来修复愚蠢的调试问题。无论如何,我想所有阅读这篇文章的Xamarin开发者都已经知道了这个版本中的Xamarin有多大的痛苦。
无论如何,在我的Xmarin.Android
(空白)项目中,我试图删除标题栏,其中显示应用程序/项目名称(我猜是这样)。所以,这就是我所说的:
请注意 :
在继续说我尝试过之前,我必须补充一下,所有解决方案都是从Xamarin.Forms相关的帖子/论坛中找到的。我很困惑,如果我选择Xamarin.Android做出了错误的选择,因为它几乎没有支持可用。
到目前为止我尝试了什么:
android:theme="@android:style/Theme.NoTitleBar"
RequestWindowFeature(WindowFeatures.NoTitle);
之前,在MainActivity.cs
方法中加入OnCreate
中的base.OnCreate
。结果保持不变。标题栏始终存在。然而,这是Xamarin的另一个神秘的错误(啊,没什么新鲜的,对吗?)我找到了!
从设计师的顶部栏中更改主题时:
这些变化反映在设计师身上。我的意思是,如果我将主题改为Black NoTitleBar
,标题栏就会消失。但是一旦我启动应用程序,标题栏就会在模拟器和设计器中弹出。
那么,这是这样的吗?有没有针对此的Xamarin.Android
特定解决方案?或者我真的做出了一个糟糕的决定选择Xamarin.Android
,因为它缺乏支持论坛?
编辑1
当我手动更改清单文件并设置android:theme="@android:style/Theme.NoTitleBar"
,然后从设计器,我将主题更改为AppDefault
,清单文件似乎保持不变。我的意思是清单文件中声明的主题仍然是Theme.NoTitleBar
。
这就是Activity
属性的样子:
[Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)]
用AppTheme
改变Theme.NoTitleBar
抛出一个运行时异常,说No resource found with the given name (Theme.NoTitleBar).......
嗯,毕竟这是一线修复?
任何人都在努力解决这个问题:活动类MainActivity.cs
的以下变化修复了它:
[Activity(Label = "@string/app_name", Theme = "@style/Theme.AppCompat.Light.NoActionBar", MainLauncher = true)]
我猜你也可以设置其他主题。毕竟,你是UI大师!
在Xamarin.Android中隐藏标题栏有两种方法。 Aousaf Rashid已经通过使用样式提到了一个。另一个简单的方法是:
ActionBar.Hide();
在oncreate方法中的活动