2


私は問題があります。言ったように、私はViewPagerの中に5つのフラグメントを持っています。最後のフラグメントには、内部にいくつかのウィジェットを含む 2 つの相対的なレイアウトがあります。ボタンをクリックすると、相対的なレイアウトを表示に変更するアニメーションがあります。
私の問題は、スクロールバックすると、なくなったビューがすべて自分で見えるようになることです...誰も似たようなことを経験しましたか???

public class WelcomeActivity extends FragmentActivity{

    private FragmentAdapter adapter;
    private ViewPager viewPager;

    @Override
    protected void onCreate(Bundle arg0) {
        super.onCreate(arg0);
        setContentView(R.layout.welcome_activity);

        viewPager = (ViewPager) findViewById(R.id.pager);
        adapter = new FragmentAdapter(getSupportFragmentManager(), viewPager);
        viewPager.setAdapter(adapter);
}


public class FragmentAdapter extends FragmentPagerAdapter{

    private ViewPager pager;
    private Fragment mFragmentAtPos0;
    private FragmentManager mFragmentManager;

    public FragmentAdapter(FragmentManager fm, ViewPager p) {
        super(fm);
        this.pager = p;
        this.mFragmentManager = fm;
    }

    @Override
    public Fragment getItem(int position) {
        switch (position) {
        case 0:
            return new ScreenWelcome(pager, this);
        case 1:
            return new ScreenTutorial1();
        case 2:
            return new ScreenTutorial2();
        case 3:
            return new ScreenTutorial3();
        case 4:
            return new ScreenTutorial4();
        case 5:
            return new FlipAnimationFragment();
        default:
            return null;
        }
    }

    @Override
    public int getItemPosition(Object object) {
        return super.getItemPosition(object);
    }

    @Override
    public int getCount() {
        return 6;
    }


public class FlipAnimationFragment extends Fragment{
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);     
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.flip_animation, container, false);
        layout = (RelativeLayout) view.findViewById(R.id.layout);
        sign_up = (RelativeLayout) view.findViewById(R.id.relativeLayoutSignUp);
        log_in = (RelativeLayout) view.findViewById(R.id.relativeLayoutLogIn);

        create_account_page = (Button) view.findViewById(R.id.buttonCreateAccount);
        log_in_page = (Button) view.findViewById(R.id.buttonSignUpLogIn);

        log_in_page.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                if(!pressed){
                    pressed = true;

                    layout.startAnimation(flip);
                }

            }
        });
        create_account_page.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                if(!pressed){
                    pressed = true;

                    layout.startAnimation(flip);
                }

            }
        });
}
@Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        flip = new FlipAnimator(sign_up, log_in, 240, 400);
}
4

0 に答える 0