как выровнять элементы панели инструментов в формах xamarin для кросс-платформы

так например

<ContentPage.ToolbarItems>
    <ToolbarItem Name="logo" Icon="businessName.png" Priority="0" Order="Primary"/>
    <ToolbarItem Name="shoppingCartImage" Icon="shopping_cart_IMG.png" Priority="0" Order="Primary"/> Activated="Onclick" />
    <ToolbarItem x:Name="NumberOfItemsInCart" Priority="0" Order="Primary"/>
</ContentPage.ToolbarItems>

отобразит все элементы справа от панели инструментов ... Я хотел бы, чтобы логотип был в центре, а затем изображение корзины и метка для номера в корзине справа ...

Прочитайте в Интернете множество примеров создания клиентского рендеринга... (Xamarin формирует положение элементов панели инструментов для Android)

это все еще так? поскольку эти вопросы были заданы много лет назад... был ли обновлен xamarin, чтобы включить выравнивание элементов на панели инструментов, или мне нужно создать собственный рендеринг... пожалуйста, сообщите, спасибо


person John    schedule 12.06.2020    source источник


Ответы (1)


Эта проблема (невозможно установить значок по центру в коде форм xamarin) только что возникла в Android, вам не нужно создавать собственный модуль визуализации в Android.

Прежде всего, откройте файл Toolbar.xml в папке Resources/layout, это то, что вы установили в файле MainActivity, который Xamarin.Forms будет использовать для его расширения. Добавьте ImageView к android.support.v7.widget.Toolbar, как показано в следующем коде.

<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/colorPrimary"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    android:popupTheme="@style/ThemeOverlay.AppCompat.Light" >

<ImageView
        android:contentDescription="businessname icon"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:scaleType="fitCenter"
        android:src="@drawable/businessname"
        android:layout_gravity="center" />
</android.support.v7.widget.Toolbar>

Вот бегущий скриншот.

введите здесь описание изображения

Вот полезная ссылка, вы можете обратиться к ней.

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

person Leon Lu - MSFT    schedule 13.06.2020
comment
ааа, это блестяще, спасибо за помощь... единственное, что моя аудитория будет ios и android... так что, возможно, в долгосрочной перспективе будет более целесообразно создать собственный рендер... больше работы сейчас, но как Я говорю, что мне это нужно для ios также - person John; 13.06.2020
comment
Вы можете увидеть ссылку в ответе, в ней есть решение для iOS - person Leon Lu - MSFT; 13.06.2020
comment
Если ответ полезен, примите его как ответ, он поможет другим, у кого есть похожие проблемы. - person Leon Lu - MSFT; 13.06.2020
comment
Если вы использовали пользовательский рендерер, вам нужно получить панель действий, затем создать представление изображения, установить изображение в панель действий и установить макет в центре. Я пробовал таким образом, но панель действий всегда обнуляется, нам нужно установить новое действие в основном действии, это слишком сложно. - person Leon Lu - MSFT; 13.06.2020
comment
это блестяще спасибо за вашу помощь. есть оба по ссылке - person John; 14.06.2020