Текст элемента панели инструментов Xamarin Forms (только) не отображается на Android (только)

#android #xamarin.forms #toolbar

#Android #xamarin.forms #панель инструментов

Вопрос:

У меня есть рабочее приложение Xamarin Forms для Android и UWP. (Я еще не пробовал iOS.) У меня есть следующий элемент панели инструментов:

 <ContentPage Title="Debug" ...  >

    <ContentPage.ToolbarItems>
        <ToolbarItem IconImageSource="Question_16x.png" Text="Help" Clicked="OnHelpPressed" Order="Primary" Priority="0"/>
    </ContentPage.ToolbarItems>
...
 

На UWP это работает так, как я и ожидал:

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

Но на Android, будь то симулятор Android или телефон Samsung, я получаю только очень мутный значок вопросительного знака и без текста «Справка»:

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

Если я удалю значок, отобразится текст.

На обеих платформах нажатие или нажатие на элемент приводит к нажатию, как и ожидалось. Это один и тот же значок в обоих проектах.

Как я могу это исправить?

Ответ №1:

На Android и iOS вы можете использовать приведенный ниже код для отображения текста и значков:

 <ContentPage.ToolbarItems>
    <ToolbarItem IconImageSource="Question_16x.png" Order="Primary" Priority="0"/>
    <ToolbarItem Text="Help"Clicked="OnHelpPressed" Order="Primary" Priority="0"/>
</ContentPage.ToolbarItems>
 

Комментарии:

1. Ну, Бинго! Почему я об этом не подумал?

2. Было бы неплохо, если бы я мог сделать значок не таким «мутным», но это улучшение на 100%!

3. К вашему сведению, можно поиграть с порядком двух элементов панели инструментов и получить либо «Справка?», либо «? Справка «по желанию.

Ответ №2:

Чтобы значок был менее «мутным», используйте растровое изображение значка большего размера.

Вот вопросительный знак, предназначенный для работы с высоким разрешением на устройстве с высоким разрешением DPI (разрешение выше необходимого; уменьшите его, если хотите):

Знак вопроса с высоким разрешением

Он получен из Wikimedia — Icon-round-Question_mark.jpg .

— Чтобы увидеть больше значков, перейдите в категорию Викимедиа: значки. Это не самый удобный для просмотра; проще найти в Google то, что вы хотите: значок Викимедиа вопросительный знак

Поместите этот файл в YourProjectName.AndroidResourcesdrawable папку. На панели обозревателя решений проекта щелкните правой кнопкой мыши эту папку, «Добавить существующий элемент» и перейдите к этому файлу. Это устанавливает действие сборки в «AndroidResource».

Если вы изучите этот файл в приложении paint, вы увидите, что вокруг изображения вопросительного знака есть прозрачная область «padding».

Это относится к значкам Material Design в панели приложений / Спецификации — Mobile. Для настройки в приложении paint используйте «Размер изображения / холста», чтобы изменить количество отступов.

Он был протестирован в xamarin-forms-samples/UserInterface / ToolbarItemDemos.

Комментарии:

1. Чудесно. Я собирался опубликовать здесь снимок экрана, но, думаю, в комментариях не может быть изображений. Интересно — Android меняет черный цвет на белый, чтобы он отображался на темно-синем фоне.

2. И спасибо. Я попытался пометить это как ответ, но, я думаю, у вас может быть только один ответ, и @Adrain Zhu -MSFT ответил на мой первоначальный вопрос. Я отметил это полезным, потому что это действительно было. Черт возьми, я не знал о коллекции значков Викимедиа — ОТЛИЧНЫЙ ресурс.

3. @Charles — рад, что смог помочь 🙂