2 回答
TA贡献1829条经验 获得超4个赞
所以我最终以这个适用于 Android 的解决方案结束:-
protected override void OnElementChanged(ElementChangedEventArgs<Slider> e)
{
base.OnElementChanged(e);
if (this.Control != null)
{
var slider = (MySlider)this.Element;
this.Control.TickMark = Resources.GetDrawable(Resource.Drawable.Icon);//works by setting whole slider image
//this.Control.SetThumb(Resources.GetDrawable(Resource.Drawable.Icon));//works by setting thumbnail movable image
Control.Max = (int)(slider.Maximum - slider.Minimum);//shows RHS value plus one
Control.Progress = (int)slider.Value;
}
}
TA贡献1794条经验 获得超8个赞
Xamarin.Forms 附带的滑块没有任何刻度线。基本上你有三个选择:
1) 使用包含滑块和多个 BoxView 的网格制作自定义 Xamarin 表单视图,形成您的刻度线,并将所需的值公开为 BindableProperties。优点:可以很快完成,不需要自定义渲染器缺点:不是最优雅的解决方案
2)制作自定义渲染器,按照您想要的方式渲染滑块。优点:更好的解决方案,因为您只需要将自定义滑块添加到视图 缺点:您需要为每个处理刻度线绘制的目标平台创建一个自定义渲染器
3) 寻找合适的组件或包含适合您需求的滑块的 nuGet 包
- 2 回答
- 0 关注
- 259 浏览
添加回答
举报