0

我有一个使用 Eclipse/IntelliJ 开发的 Android 应用程序(是的,我同时使用了两者,所以我可以比较它们),我现在已经移植到 Xamarin.Android(再次,所以我可以比较)。

Xamarin 端口中的一切都可以正常工作,但我注意到的一件事是布局的呈现方式存在一些差异。我还不能确定它们,但它们通常包括以不同方式处理默认行为。因此,我不指定宽度或颜色而是使用“wrap-content”/“match_parent”的情况,或者在颜色的情况下,不明确指定文本颜色(例如)。

我很好奇,首先,如果其他人看到了这个,为什么会这样,以及是否有修复,以便可以跨平台使用相同的布局。

我还有第二个问题是尝试在标题栏中显示图像和标签。

在 java 应用程序 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")]

最终值是标题栏中显示的值。但是,没有图像出现。

那么,除了我关于不同布局的问题之外,是什么驱动了标题栏标签(是否所有其他值都被忽略了?)和图像?

4

1 回答 1

0

这里的诀窍是,使用 Eclipse/IntelliJ,功能似乎由部署到的模拟器控制,而 Xamarin 由目标 API 级别驱动。

因此,使用 IntelliJ 构建,针对 api 级别 10,但部署到 api 级别 17 模拟器给了我 api 级别 17 的功能。对 Xamarin 做同样的事情给了我 api 10 级的功能。将目标 sdk 更改为 17 允许显示图标。

太糟糕了他们不一致,我不确定我更喜欢哪种行为,但我很高兴终于有一个解释。

于 2013-08-04T05:17:05.070 回答