【问题标题】:Xamarin - Add title and button in action barXamarin - 在操作栏中添加标题和按钮
【发布时间】:2017-01-23 06:41:03
【问题描述】:

我正在使用具有两个项目 android 和 ios 的 xamarin.form (Portable)。

我想在操作栏中添加标题,该标题将根据详细信息页面发生变化,还想在操作栏中的右侧添加一个按钮

我参考下面的链接

https://github.com/xamarin/xamarin-forms-samples/tree/master/Navigation/MasterDetailPage

此链接帮助我创建导航页面。但无法在操作栏中添加标题和按钮

下面是我想要的操作栏的图像。付款是一个标题,可以根据详情页更改,右侧“+”是按钮

请建议我如何使用 xamarin 表单(便携式)在操作栏中添加标题和按钮

【问题讨论】:

  • 工具栏需要创建 _saveAddToolBarItem = new ToolbarItem() { Icon = Constants.ASSES_PLUS_ICON, }; _saveAddToolBarItem.Clicked += _saveAddImage_Clicked;
  • 我不想添加工具栏项。我改变了问题,添加了图像,以便您了解我想要什么
  • 没有其他选项需要使用工具栏来添加加号图标
  • 能否请您告诉我如何添加工具栏或向我发送链接?如何更改操作栏颜色?我写了这段代码,但没有改变操作栏的颜色。 xamarin.com/schemas/2014/forms" xmlns:x="schemas.microsoft.com/winfx/2009/xaml" x:Class="MUNI_Demo.View.Detail.Contact" Title="Contact" BackgroundColor="#42A990">

标签: android ios android-actionbar xamarin.forms


【解决方案1】:

您需要创建页面,就像没有任何其他选项可以添加加号而不使用主详细信息页面中的工具栏项

以下是一些示例代码

public class TodoListPageCS : ContentPage
{
    private ToolbarItem _saveAddToolBarItem;

    public TodoListPageCS ()
    {

        Title = "Page Name";
        _saveAddToolBarItem = new ToolbarItem()
        { Text = "Save"};
        ToolbarItems.Add(_saveAddToolBarItem);
        _saveAddToolBarItem.Clicked += _saveAddToolBarItem_Clicked;
        Content = new StackLayout { 
            Children = {
                new Label {
                    Text = "Todo list data goes here",
                    HorizontalOptions = LayoutOptions.Center,
                    VerticalOptions = LayoutOptions.CenterAndExpand
                }
            }
        };
    }

    private void _saveAddToolBarItem_Clicked(object sender, System.EventArgs e)
    {
        throw new System.NotImplementedException();
    }
}

否则,您需要创建自己的自定义基本页面而不是内容页面

要更改工具栏颜色,请参阅以下链接: https://forums.xamarin.com/discussion/44586/navigationbar-background-image-renderer-android

跳这段代码会帮助你

更改工具栏颜色的方法:

  Detail = new NavigationPage((Page)Activator.CreateInstance(item.TargetType)) {
                    BarBackgroundColor = Color.FromHex("#42a990"),
                    BarTextColor = Color.White,
                };

【讨论】:

  • 谢谢它帮了我很多。你能告诉我如何将标题居中对齐吗
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-23
  • 1970-01-01
  • 1970-01-01
  • 2012-08-17
相关资源
最近更新 更多