私がやろうとしていることは次のとおりです。
ビュー内にスクロールビューがあり、その高さは親の高さの 2/9 のようです。次に、ユーザーはこのスクロールビューを変換して大きくすることができます。ただし、スクロールビューのサイズは明らかに変わりません。したがって、スクロールビューのサイズが大きくなっても、ポイントが殺されます。最初は大きくすることができました。ただし、スクロールできないほどサイズが大きいため、スクロールしません。
正しく説明できたかどうかはわかりません。私がしたことを願っています。
よろしく。
編集 - - - - - - -
私のポイントをさらに説明するためのいくつかのコード
これがスクロールビュー
public class TranslatableScrollView : ScrollView
{
public Action TranslateUp { get; set; }
public Action TranslateDown { get; set; }
bool SwipedUp;
public TranslatableScrollView()
{
SwipedUp = false;
Scrolled += async delegate {
if (!SwipedUp && ScrollY > 0) {
TranslateUp.Invoke ();
SwipedUp = true;
} else if (SwipedUp && ScrollY <= 0) {
TranslateDown.Invoke ();
SwipedUp = false;
}
};
}
}
そして、これはページ内のコードです
sv_footer = new TranslatableScrollView {
Content = new StackLayout {
VerticalOptions = LayoutOptions.FillAndExpand,
HorizontalOptions = LayoutOptions.FillAndExpand,
Children = {
l_details,
l_place
},
}
};
sv_footer.TranslateUp += new Action (async delegate {
Parent.ForceLayout();
await cv_scrollContainer.TranslateTo(0, -transX, aSpeed, easing);
});
sv_footer.TranslateDown += new Action (async delegate {
await cv_scrollContainer.TranslateTo(0, 0, aSpeed, easing);
});
cv_scrollContainer = new ContentView {
Content = sv_footer,
VerticalOptions = LayoutOptions.Fill
};
そうしないと、スクロールビューをコンテンツビュー内に配置します。スクロールインデックスは、翻訳時に0になります。参照: Xamarin Forms: ScrollView が TranslateTo を物乞いに戻す