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

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

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

enter image description here

Добавлено изображение CircleRenderer.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, и полученное изображение добавляется ниже:

enter image description here

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

1 Ответ

0 голосов
/ 08 мая 2018

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

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

<ListView RowHeight="60" ...>

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

<ListView HasUnevenRows="true">

...