【问题标题】:Xamarin forms position of toolbar items for androidXamarin 为 android 形成工具栏项的位置
【发布时间】:2016-08-11 14:11:03
【问题描述】:

我想要左侧的 ToolbarItem Menu1,但此时两者都在右侧。 我该如何解决?

<?xml version="1.0" encoding="UTF-8"?>
 <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" x:Class="Dharma.LoginPage">
   <ContentPage.ToolbarItems>
     <ToolbarItem Name="Menu1" Order="Primary" Priority="0" />
     <ToolbarItem Name="Menu2" Order="Primary" Priority="1" />
   </ContentPage.ToolbarItems>
   <ContentPage.Content>
     <StackLayout Padding="30">
       <Label Text="Login Page" FontSize="20" />
     </StackLayout>
   </ContentPage.Content>
 </ContentPage>

【问题讨论】:

  • 无法直接在Xamarin.Forms 中执行此操作,您需要为此执行自定义渲染

标签: android xamarin xamarin.forms


【解决方案1】:

这不是可行的解决方案。我知道,但现在我已经尝试过了。 只需在 menu1menu2 之间添加空白工具栏项即可在它们之间创建空间。

所以它会相应地设置在左右

<ContentPage.ToolbarItems>
 <ToolbarItem Name="Menu1" Order="Primary" Priority="0" />
 <ToolbarItem Name="" Order="Primary" Priority="0" />
 <ToolbarItem Name="" Order="Primary" Priority="0" />
 <ToolbarItem Name="" Order="Primary" Priority="0" />
 <ToolbarItem Name="" Order="Primary" Priority="0" />
 <ToolbarItem Name="Menu2" Order="Primary" Priority="1" />

【讨论】:

    【解决方案2】:

    表单目前不支持此功能。为了解决这个问题,您可以编写一个 Custom Renderer 来覆盖基本的 Android 工具栏渲染器。

    【讨论】:

    • 如果我正在编写自定义渲染器,这对于所有页面都是静态的。如果我需要在登录后更改工具栏图标位置,自定义渲染是否支持
    【解决方案3】:

    正如其他人所提到的,这只能使用custom renderer for your Page 来完成。然后您需要将所有菜单项创建逻辑移到那里,因为 Xamarin 内置的 ToolbarItem 会导致您的自定义逻辑出现各种问题。您可以参考answer 了解有关如何将您的物品移到左侧的更多详细信息 - 这有点涉及,因此将它们放在右侧可能是一个更好的主意。

    【讨论】:

      猜你喜欢
      • 2014-12-26
      • 1970-01-01
      • 1970-01-01
      • 2020-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多