Xamarin формы: изображение не отображается в идеальном круге

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

Для круговых изображений я использую в своем проекте пакет nuam Xam.Plugins.Forms.ImageCircle, который отлично работает в Android и Windows, но показывает овальную форму в IOS, добавление скриншота ниже.

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

Добавлен ImageCircleRenderer.Init(); в AppDelegate.cs.

добавлено пространство имен xmlns:

xmlns:controls="clr-namespace:ImageCircle.Forms.Plugin.Abstractions;assembly=ImageCircle.Forms.Plugin.Abstractions"  

  <controls:CircleImage 
          HorizontalOptions="Start"
          VerticalOptions="Start"
          Margin="0,0,0,-5"
          WidthRequest="50" 
          Aspect="AspectFill"
          BorderColor="#1C7DB4"
          BorderThickness="2"
           HeightRequest="50" />

Теперь я обновил Xam.Plugins.Forms.ImageCircle до 2.0.2, и полученное изображение добавляется ниже:

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

заранее спасибо

1 ответ

Решение

Похоже, что вы отображаете круги в ListView, который имеет фиксированную высоту ячеек по умолчанию. Кажется, что ваши клетки просто не достаточно высоки, чтобы дать CircleImageпространство, которое им нужно. У вас есть два варианта, чтобы преодолеть это:

  • Установите высоту ячеек на фиксированное значение, которое достаточно высоко.
    • Я не знаю точного значения заполнения ячеек, поэтому вам придется немного поэкспериментировать. Может быть, начать с чего-то около 60

<ListView RowHeight="60" ...>

  • Задавать HasUnevenRows="true"
    • Я считаю, что это автоматически исправит высоту строк, но это стоит затрат: это может оказать негативное влияние на компоновку вашего вида.

<ListView HasUnevenRows="true">

Другие вопросы по тегам