[Android] fixes #3675 - set initial ScrollView Scroll values when RTL (#3676)

This commit is contained in:
Shane Neuville 2018-08-28 17:05:25 -06:00 коммит произвёл Rui Marinho
Родитель 11965c284c
Коммит 5df78b9711
1 изменённых файлов: 7 добавлений и 2 удалений

Просмотреть файл

@ -252,8 +252,13 @@ namespace Xamarin.Forms.Platform.Android
_container?.RequestLayout();
// if the target sdk >= 17 then setting the LayoutDirection on the scroll view natively takes care of the scroll
if (Context.TargetSdkVersion() < 17 && !_checkedForRtlScroll && _hScrollView != null && Element is IVisualElementController controller && controller.EffectiveFlowDirection.IsRightToLeft())
_hScrollView.ScrollX = _container.MeasuredWidth - _hScrollView.MeasuredWidth - _hScrollView.ScrollX;
if (!_checkedForRtlScroll && _hScrollView != null && Element is IVisualElementController controller && controller.EffectiveFlowDirection.IsRightToLeft())
{
if (Context.TargetSdkVersion() < 17)
_hScrollView.ScrollX = _container.MeasuredWidth - _hScrollView.MeasuredWidth - _hScrollView.ScrollX;
else
Device.BeginInvokeOnMainThread(() => UpdateScrollPosition(_hScrollView.ScrollX, ScrollY));
}
_checkedForRtlScroll = true;
}