【问题标题】:Get the Xamarin Android Designer to work with the Toolbox获取 Xamarin Android Designer 以使用工具箱
【发布时间】:2019-04-05 16:45:43
【问题描述】:

这个问题是关于支持拖放功能的 Xamarin Android,而不是 Xamarin Forms。

在 Visual Studio 中使用 Xamarin Android Designer 时,我只能从工具箱中拖入一个控件。在此之后,我不再能够添加任何新按钮(尝试拖动新按钮时光标变为“不允许”符号)。

重现问题的步骤:

  1. 在 Visual Studio 中创建一个新的 Xamarin Android 应用项目。
  2. 导航到“资源/布局/activity_main.axml”。
  3. 尝试在设计中添加两个按钮。尝试添加第二个将显示“不允许”符号代替光标。

我在网上寻找了解决方案,包括 Xamarin 社区论坛和 Visual Studio 开发人员社区,但只找到了关于相同或类似问题的帖子,没有适合我的解决方案。我该如何解决这个问题?

【问题讨论】:

  • 是的,问题与RelativeLayout有关。我将其更改为 LinearLayout 添加代码: android:orientation="vertical" 在顶部。然后,您可以将多个按钮或文本视图拖到其中。
  • 我需要RelativeLayout。我不能使用线性布局。
  • 我已经报告了这个问题,如果这个问题有一些更新,我会在这里发布。
  • 我得到了结果(这是设计使然),你可以在答案中看到原因。@user-1

标签: android visual-studio xamarin


【解决方案1】:

Xaml 中的RelativeLayout 在设计上不允许拖放超过 1 个控件。

RelativeLayout 是一个ViewGroup,它在相对位置显示子视图元素。 View 的位置可以指定为相对于同级元素(例如在给定元素的左侧或下方)或相对于RelativeLayout 区域的位置(例如与底部对齐,中心左侧)。

基本上,设计器只允许您添加一个用于设计界面的控件。您可以根据原始拖动控件定位 Xaml 中的其他控件。 您可以将控件从工具箱直接拖放到 Xml 代码,它允许您从属性框中进一步编辑控件。

另外,https://developer.android.com/guide/topics/ui/layout/relative 官方建议改用ConstraintLayout

如果您坚持使用RelativeLayout,则必须在 Xaml 中编写接口代码。

【讨论】:

  • +1 来自@leon-lu-msft 的回复,不仅回答了这个问题,更重要的是注意到了使用 ConstraintLayout 的建议。
猜你喜欢
  • 1970-01-01
  • 2017-11-27
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 2017-03-31
  • 1970-01-01
  • 2018-07-10
  • 1970-01-01
相关资源
最近更新 更多