Xamarin.Forms Androidでタブボタン押したときのスライドアニメーションを抑制
タイトルにあるようにスライドアニメーション無効にしてって要望来たので How to disable sliding animation in Android TabBar with Xamarin.Forms? — Xamarin Community Forums を真似てみたけどスライドするの止まらず。
android - Disable ViewPager scrolling animation - Stack Overflow こちらのスタックオーバーフローでも同じような感じにやってるっぽいのだけれどなんでだろう。 AndroidのPageTransformerとか知らんがな。
結局よくわからないので下にあったKotlin用のFadePageTransformer見てfadeするってんなら位置はスライドしない位置にセットしてるんだろと思い次のようにしたらなんか思い通りになったような。 …んー、もともとのScrollXをセットする方、Xamarin Forumでもスタックオーバーでも動かないよってリプついてないってことはふつうはそれでアニメーションしないようになってるってこと? なんで自分のところでは効果ないんだろうか(´・ω・`)
public class NoAnimationPageTransformer : Java.Lang.Object, ViewPager.IPageTransformer { public void TransformPage(Android.Views.View view, float position) { view.TranslationX = view.Width * -position; if (position <= -1.0f || position >= 1.0f) { view.Alpha = 0.0f; view.Visibility = ViewStates.Gone; } else if (position == 0.0f) { view.Alpha = 1.0f; view.Visibility = ViewStates.Visible; } else { view.Alpha = 1.0f; view.Visibility = ViewStates.Visible; } } }