【发布时间】:2020-09-21 03:20:47
【问题描述】:
在 Xamarin.Forms (iOS Android) 上,我需要更改 RefreshView 上的 loading-indicator 位置。我需要添加偏移量,因此如果您有一个与 ScrollView-RefreshView 组合重叠的栏并触发 pullOnRefresh,则指示器可见。
Loading-indicator in the top edge
编辑:感谢Junior Jiang - MSFT- Android solution
我还为 xamarin.iOS 实现了一个解决方案
[assembly: ExportRenderer(typeof(RefreshView), typeof(CustomRefreshViewRenderer))]
namespace CustomRefresh.iOS {
public class CustomRefreshViewRenderer : RefreshViewRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<RefreshView> e)
{
base.OnElementChanged(e);
foreach (var nativeView in Subviews)
updateRefreshSettings(nativeView);
}
void updateRefreshSettings(UIView view) {
if (view is UIScrollView)
{
var scrollView = view as UIScrollView;
if (scrollView.RefreshControl != null)
{
var bounds = scrollView.RefreshControl.Bounds;
scrollView.RefreshControl.Bounds = new CGRect(bounds.X, -(100), bounds.Width, bounds.Height);
}
}
//add more scrollable view types
}
}
}
【问题讨论】:
-
你好,你能分享一张图片来解释你想改变的位置吗?
标签: xamarin.forms xamarin.android xamarin.ios custom-renderer