我刚开始使用Xamarin。即使在VS 2019中,也花了一天的时间解决愚蠢的调试问题。无论如何,我想所有阅读这篇文章的Xamarin开发人员都已经知道ar $ e Xamarin有多痛苦。
无论如何,在我的Xmarin.Android
(空白)项目中,我正在尝试删除标题为应用程序/项目名称的标题栏(我想是的)。所以,这就是我在说的:
请注意:
在我继续尝试之前,我必须补充一点,所有解决方案都是从Xamarin.Forms相关文章/论坛中找到的。我非常困惑,是否选择Xamarin.Android做出了错误的选择,因为它几乎没有支持。
到目前为止我尝试过的事情:
在AndroidManifest.xml中添加了android:theme="@android:style/Theme.NoTitleBar"
在调用RequestWindowFeature(WindowFeatures.NoTitle);
之前,在MainActivity.cs
方法内的OnCreate
中添加了base.OnCreate
。
结果保持不变。标题栏始终存在。但是,这是Xamarin的另一个神秘的 bug (啊,没什么新鲜的,对吧?)
从设计者的顶部栏中更改主题时:
更改反映在设计器中。我的意思是,如果我将主题更改为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).......
答案 0 :(得分:0)
嗯,那毕竟是单行修复吗?
任何在此问题上苦苦挣扎的人:活动类MainActivity.cs
中的以下更改解决了该问题:
[Activity(Label = "@string/app_name", Theme = "@style/Theme.AppCompat.Light.NoActionBar", MainLauncher = true)]
我猜你也可以设置其他主题。毕竟,您是UI的主人!
答案 1 :(得分:0)
有两种方法可以隐藏Xamarin.Android中的标题栏。 Aousaf Rashid已经使用样式提到了一个 另一个简单的方法是:
ActionBar.Hide();
在活动中的oncreate方法中
答案 2 :(得分:0)
[活动(标签=“ @ string / app_name”,主题=“ @ style / AppTheme”,MainLauncher = true)]
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
这对我有用