Проблемы с вертикальным слайдером Xamarin - PullRequest
0 голосов
/ 08 июня 2019

Я пытался создать вертикальный ползунок со следующим кодом, но максимальный и минимальный цвета дорожек на Android не работают (цвета не видны, виден только цвет большого пальца).

 <StackLayout Orientation="Vertical"
  HorizontalOptions="FillAndExpand"
  VerticalOptions="FillAndExpand">

  <RelativeLayout HorizontalOptions="FillAndExpand" 
    VerticalOptions="FillAndExpand">

    <Slider 
     RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent,
        Property=Height,Factor=0,Constant=0}"
     RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent,
        Property=Width,Factor=0,Constant=0}"
     RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent,
        Property=Height,Factor=0.15,Constant=0}" 
     RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent,
        Property=Width,Factor=1,Constant=0}"

     ThumbColor="{StaticResource DataColor}"
     MaximumTrackColor="{StaticResource ColorPrimary}"
     MinimumTrackColor="{StaticResource ColorPrimaryDark}"

     Maximum="100" Minimum="1" Margin="0,0,0,0"
     AnchorX="1" AnchorY="1" Rotation="-90"
     VerticalOptions="FillAndExpand"/>


  </RelativeLayout>
</StackLayout>

Я также пытался настроить ползунок с помощью CustomRenderer,

protected override void OnElementChanged(ElementChangedEventArgs<Slider> e)
{
   base.OnElementChanged(e);
   if (e.OldElement != null || e.NewElement == null)
     return;

   view = (Slider)Element;
   Control.ProgressDrawable = Resources.GetDrawable(
   Resource.Drawable.custom_progressbar_style,
     (this.Context).Theme);

}

И

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:id="@android:id/background">
    <color android:color="#0066CC"/>
  </item>
  <item android:id="@android:id/progress">
    <clip>
      <color android:color="#009900"/>
    </clip>
  </item>
</layer-list>

Но, на мой взгляд, отображается только прогресс цвета, кажется, фон не имеет значения, установленного со значением # 0066CC.

Когда я устанавливаю вращение моего ползунка на 0, цвета устанавливаются правильно. Проблема возникает, когда вращение отличается от 0.

См. Следующие рисунки, чтобы понять проблему,

Горизонтальный слайдер, работающий так, как я хочу

Вертикальный слайдер, не работает, как я хочу

РЕДАКТИРОВАТЬ: Добавление некоторых изображений с различной ориентацией (я думаю, это может помочь понять, что не так)

Ориентация установлена ​​на -10

Ориентация установлена ​​на -45

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...