私はAHBottomNavigation(https://github.com/aurelhubert/ahbottomnavigation)を使用しようとしています。私は自分のためにそのデモアプリケーションに従っています。ViewPagerでsetCurrentItem(position、false)がフェードインの遷移を使用していますか?
デモアプリケーションでは、ViewPagerとFragmentPagerAdapterを使用してフラグメント間を変更し、すべてが完全に機能しています。
私の問題は、私はフェードイン断片間のフェードアウトトランジションを追加したい、私はこの変更しようとした、次のとおりです。
viewPager.setCurrentItem(position);
ため
viewPager.setCurrentItem(position, false);
をそして、私が追加しました私のMainActivityでこの:
viewPager.setPageTransformer(false, new FadePageTransformer());
...
public class FadePageTransformer implements ViewPager.PageTransformer {
public void transformPage(View view, float position) {
view.setTranslationX(view.getWidth() * -position);
if(position <= -1.0F || position >= 1.0F) {
view.setAlpha(0.0F);
} else if(position == 0.0F) {
view.setAlpha(1.0F);
} else {
// position is between -1.0F & 0.0F OR 0.0F & 1.0F
view.setAlpha(1.0F - Math.abs(position));
}
}
}
それは実際に動作しますが、私は最後の1に最初のフラグメントから行きたい場合は、それスクロールビューのように、それらの間のすべてのフラグメントを表示します。
それは、これは方法私がフェードイン、フェードアウトの移行のために使用することができると思うが、私はそれを実装する方法の見当がつかないフラグメントクラス(DemoFragment)における方法ですしています
/**
* Called when a fragment will be displayed
*/
public void willBeDisplayed() {
// Do what you want here, for example animate the content
}
申し訳ありませんが、私はアンドロイドで新しく、まだ学んでいます。
UPDATE:私は、アクティブと非アクティブのビュー間(https://www.google.com/design/spec/components/bottom-navigation.html#bottom-navigation-behavior)
がトランジションクロスを使用した材料設計の例のように、フラグメント間のクロスフェードアニメーションを追加したい
フェード アニメーション。