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

Posted

技术标签:

【中文标题】导航栏后退按钮将所有内容推到右侧【英文标题】:Navigation Bar Back Button pushes everthing to the right 【发布时间】:2021-07-12 23:50:09 【问题描述】:

我在使用 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 的不同标签的边距,但没有一个有效。

【问题讨论】:

Cfun,谢谢你通过手机这样做会很痛苦 【参考方案1】:

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

  android:layout_
    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_
android:layout_
android:minHeight="?android:attr/actionBarSize"
android:background="?android:attr/colorPrimary"
android:theme="@android:style/ThemeOverlay.Material.Dark.ActionBar"

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

主活动:

 ToolbarResource = Resource.Layout.toolbar;

输出:

【讨论】:

【参考方案2】:

试试这个

<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/

【讨论】:

以上是关于导航栏后退按钮将所有内容推到右侧的主要内容,如果未能解决你的问题,请参考以下文章

ml-auto 没有将导航栏链接推到右侧

导航栏背景图片

Xcode 约束将视图上的所有内容推到最顶部(导航栏后面)

IOS应用导航栏后退按钮

iPhone - 设置应用程序宽导航栏后退按钮,不带文字

Android 浮动视图(在其他视图之上)