【发布时间】:2016-08-26 15:17:48
【问题描述】:
请看附图:
Highlighted top bar in Android add
在将 MasterDetailPage 与 Xamarin Forms 一起使用时,如何在顶部栏(靠近汉堡菜单/标题)添加图片中突出显示的项目?
更准确地说,我需要将这些类型的控件添加到第二张图像中的突出显示区域:
【问题讨论】:
标签: android ios xamarin.forms toolbar
请看附图:
Highlighted top bar in Android add
在将 MasterDetailPage 与 Xamarin Forms 一起使用时,如何在顶部栏(靠近汉堡菜单/标题)添加图片中突出显示的项目?
更准确地说,我需要将这些类型的控件添加到第二张图像中的突出显示区域:
【问题讨论】:
标签: android ios xamarin.forms toolbar
使用工具栏。
在工具栏中可以添加ToolbarItem。
来自代码:
var contentPage = new ContentPage ();
page.ToolbarItems.Add (new ToolbarItem (....));
来自 XAML:
<ContentPage.ToolbarItems>
<ToolbarItem .... />
</ContentPage.ToolbarItems>
你也可以看看this answer。
您应该能够将ToolBarItem 的Order 设置为Secondary 以强制该选项进入Android 上的溢出菜单:
<ContentPage.ToolbarItems>
<ToolbarItem Text="{Binding EditButtonText, Mode=TwoWay}" Clicked="EditClicked" Order="Secondary" />
</ContentPage.ToolbarItems>
以下论坛主题应该对您有所帮助:
使用属性使工具栏符合您的喜好:
【讨论】:
正如@Rohit 所说,您可以这样做:
private void ShowToolbarItems()
{
ToolbarItem toolbarItem;
if (Device.OS == TargetPlatform.iOS)
{
// move layout under the status bar
this.Padding = new Thickness(0, 20, 0, 0);
toolbarItem = new ToolbarItem("Sync", "sync_icon.png", () =>
{
SyncService();
}, 0, 0);
ToolbarItems.Add(toolbarItem);
}
if (Device.OS == TargetPlatform.Android)
{
toolbarItem = new ToolbarItem("Sync", "sync_icon.png", () =>
{
SyncService();
}, 0, 0);
ToolbarItems.Add(toolbarItem);
}
其中“sync_icon.png”是您的 iOS/Android/WP 项目的资源。希望这会有所帮助。
这里还有一篇很棒的关于 Android 材料设计的博文:
https://blog.xamarin.com/android-tips-hello-toolbar-goodbye-action-bar/
【讨论】:
this.Padding = new Thickness(0, 20, 0, 0); 是特定于平台的,你可以把它的其余部分放在 if 之外