我有一个用Eclipse / IntelliJ开发的Android应用程序(是的,我使用了两个,所以我可以比较它们),我现在移植到Xamarin.Android(再次,所以我可以比较)。
Xamarin端口的一切功能都有用,但我注意到的一件事是布局的呈现方式存在一些差异。我还没有把它们钉死,但它们通常包括以不同方式处理默认行为。所以我没有指定宽度或颜色,而是使用“wrap-content”/“match_parent”,或者在颜色的情况下,没有明确指定文本颜色(例如)。
我很好奇,首先,如果有其他人看过这个,为什么会这样,如果有一个修复,那么可以跨平台使用相同的布局。
我还有第二个问题,就是尝试在标题栏中显示图像和标签。
在java app AndroidManifest.xml中,我有:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"...
在xamarin AndroidManifest.xml中,我有:
<application
android:label="TnTM"
android:icon="@drawable/icon">...
并在AssemblyInfo.cs中:
[assembly: AssemblyTitle("TnTA")]
最后,主要活动本身有以下几点:
[Activity(Label = "TnTC", Icon = "@drawable/icon")]
最终值是标题栏中显示的值。但是,没有图像出现。
那么,除了我对不同布局的疑问之外,什么驱动标题栏标签(忽略了所有其他值?)和图像?
答案 0 :(得分:0)
这里的技巧是,使用Eclipse / IntelliJ,这些功能似乎由部署的仿真器决定,而Xamarin则由目标API级别驱动。
因此,使用IntelliJ构建,针对api级别10,但部署到api级别17模拟器给了我api级别17的功能。对Xamarin做同样的事情给了我api 10级功能。将目标sdk更改为17可以显示图标。
太糟糕了,他们不一致,我不确定我更喜欢哪种行为,但我很高兴终于得到解释。