导航栏后退按钮将所有内容推向右侧

Navigation Bar Back Button pushes everthing to the right

我在使用 xaml 时遇到问题,问题是我想要在导航栏上居中显示图像

在这张图片中它已实现,但是当我使用按钮将用户发送到另一个页面时,即使用 c# 注册

 async void ButtonSignup_Clicked (object sender, EventArgs e)
        {
            await Navigation.PushAsync(new SignupPage());
        }

now moving to image two this happens

The centre image is pushed to the right, but wanted centred

导航栏代码

<NavigationPage.TitleView>
        <StackLayout Orientation="Horizontal" HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand" Spacing="10">
            <Image HorizontalOptions="Center" Scale="1.0" Source="assets/Images/diamond.png"/>
        </StackLayout>
    </NavigationPage.TitleView>

在这一点上我没有想法,我尝试了 xaml 的边距不同的标签,但 none 已经奏效了。

试试这个

<NavigationPage.TitleView>
    <StackLayout Orientation="Horizontal" VerticalOptions="Center" Spacing="10">
        <Image Source="assets/Images/diamond.png" />          
    </StackLayout>
</NavigationPage.TitleView>

James Montemagno 在这里找到它

https://montemagno.com/xamarin-forms-icons-in-navigation-toolbar/

您可以在工具栏中设置android:layout_widthandroid:layout_gravity。它会使图像居中而不受后退按钮的影响。

  android:layout_width="wrap_content"
    android:layout_gravity="center"

toolbar.xml的全部代码:

<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/actionBarSize"
android:background="?android:attr/colorPrimary"
android:theme="@android:style/ThemeOverlay.Material.Dark.ActionBar"

>
<ImageView         
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:layout_gravity="center"
    android:src="@drawable/diamond_16px"/>
</androidx.appcompat.widget.Toolbar>

主要活动:

 ToolbarResource = Resource.Layout.toolbar;

输出: