Я пытался создать вертикальный ползунок со следующим кодом, но максимальный и минимальный цвета дорожек на 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